Question

Je peux accéder à certains des éléments « de classe » avec un

$ret = $html->find('articleINfo'); and then print the first key of the returned array.

Cependant, il y a d'autres balises dont j'ai besoin comme span class = id « firstArticle_0 » et je ne peux pas à le trouver.

$ret = $html->find('#span=id[ etc ]');

Dans certains cas, quelque chose est retourné, mais ce n'est pas un tableau, ou est un tableau avec les touches vides.

Malheureusement, je ne peux pas utiliser var_dump pour voir l'objet, depuis var_dump produit 1000 pages de vieilleries illisible. Le code ressemble à ceci.

<div id="articlething"> 
    <p class="byline">By Lord Byron and <a href="www.marriedtothesea.com">Alister Crowley</a></p> 
    <p> 
    <span class="location">GEORGIA MOUNTAINS, Canada</span> | 
    <span class="timestamp">Fri Apr 29, 2011 11:27am EDT</span> 
    </p> 
</div> 
<span id="midPart_0"></span><span class="mainParagraph"><p><span        class="midLocation">TUSCALOOSA, Alabama</span> - Who invented cheese? Everyone wants to know. They held a big meeting. Tom Cruise is a scientologist. </p> 

</span><span id="midPart_1"></span><p>The president and his family visited Chuck-e-cheese in the morning </p><span id="midPart_2"></span><p>In Russia, 900 people were lost in the balls.</p><span id="midPart_3">
Était-ce utile?

La solution

DOM HTML simple peut facilement être utilisé pour trouver une travée avec une classe spécifique.

Si tous veulent la durée est avec class = emplacement, puis:

// create HTML DOM
$html = file_get_html($iUrl);

// get text elements
$aObj = $html->find('span[class=location]');

Ensuite, faites quelque chose comme:

foreach($aObj as $key=>$oValue)
{
   echo $key.": ".$oValue->plaintext."<br />";
}

Il a travaillé pour moi en utilisant votre exemple ma sortie était:

label = durée, class = emplacement: Trouvé 1

0: GÉORGIE MONTAGNES, Canada

L'espoir qui aide ... et s'il vous plaît simple HTML DOM est grand pour ce qu'il fait et facile à utiliser une fois que vous obtenez le coup de lui. Continuez à essayer et vous aurez un certain nombre d'exemples que vous utilisez un peu plus et encore. Je l'ai gratté quelques pages assez fous et ils deviennent plus faciles et plus facile.

Autres conseils

Essayez d'utiliser cela. A travaillé pour moi très bien et très facile à utiliser. http://code.google.com/p/phpquery/

Les documents sur l'analyseur simple DOM PHP sont tachetée sur le déchiffrage Open Graph meta tags. Voici ce qui semble fonctionner pour moi:

<?php
// grab the contents of the page
$summary = file_get_html($url);

// Get image possibilities (for example)

$img = array();

// First, if the webpage has an og:image meta tag, it's easy:
if ($summary->find('meta[property=og:image]')) {
  foreach ($summary->find('meta[property=og:image]') as $e) {
    $img[] = $e->attr['content'];
  }
}
?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top