Utiliser PHP Simple HTML DOM Parser pour trouver cellule de tableau et d'obtenir le contenu de la prochaine frère

Je suis en train d'utiliser PHP Simple HTML DOM Parser saisissez le code HTML d'un fichier externe. Le fichier contient une table et le but est de trouver une mesure de la cellule avec des données spécifiques contenu, puis le frère de la cellule de données. Ces données doivent être des lieux dans une variable PHP.

Basé sur la recherche et les infos trouvées dans les articles comme Comment analyser et de traitement de HTML/XML avec PHP?, Saisissant l'attribut href de l'élément, Grattage de Données: PHP Simple HTML DOM Parser et bien sûr PHP Simple HTML DOM Parser Manuel j'ai été en mesure de produire des résultats, mais j'ai peur, j'ai peut-être sur la mauvaise voie.

La ligne de la table ressemble à ceci:

<tr>
<td>fluff</td>  
<td>irrelevant</td> 
<td>etc</td>   
<td><a href="one">Hello world</a></td>                        
<td>123.456</td> 
<td>fluff</td>          
<td>irrelevant</td>   
<td>etc</td>
</tr>

Ce que je suis en train d'accomplir est de trouver la cellule du tableau qui contient "Bonjour le monde", puis le numéro à partir de l'intérieur de la prochaine td cellule. Le code suivant constate que la cellule de la table et fait écho à son contenu, mais mes tentatives pour l'utiliser comme un point de repère afin d'obtenir la prochaine cellule de données ont échoué...

$html = file_get_html("http://site.com/stuff.htm");
$e = $html->find('td',0)->innertext = 'Hello world';
echo $e;

Donc, finalement, dans l'exemple ci-dessus, la valeur de 123.456 besoin d'obtenir en quelque sorte dans une variable PHP.

Merci pour votre aide!

trouvez votre élément, puis utilisez next_sibling() obtient son "voisin"
Je suis en mesure de trouver le texte interne de l'élément: $e = $html->find('td',0)->innertext = 'Hello world'; mais je ne suis pas sûr de la façon de référence de l'élément lui-même une fois qu'il est trouvé.
le find(td,0) renvoie cet élément, qui vous puis immédiatement extrait de l'innertext. si c'était find(td,0)->next_sibling(), vous obtiendrez le td après celui que vous avez trouvé.

OriginalL'auteur stotrami | 2013-04-02