开发者

php simplehtmldom issue

I have a question on simplehtmldom. how can I get a text of certain element that is a next_sibling of another element that contains a certain text?

for example:

I have html text as this:

<div>
 <table>
  开发者_StackOverflow中文版<tr>
   <td>prova</td>
   <td>pippo</td>
  </tr>
 </table>
</div>

and I need to extract the text of second "td".Consider that I know that the value "prova" is a fixed value. I thought that i could use this code:

echo $html->find("td:contains('prova')",0)->next_sibling();

but "contains" doesn't exists in simplehtmldom. How I can do that?

Thanks a lot


thanks for your answer but I need to extract text of td next to td that contains the text "prova".

As example I need to extract the value "pippo" with a similar code

echo $html->find("td:contains('prova')",0)->next_sibling()->innertext;

because I know the value of first column. Unfortunately the function contains doesn't exists in simplehtmldom.

The code

echo $html->find("td:innertext('prova')",0)->next_sibling();

doesn't is the right way.

Do you have other suggestion?

Thanks


try this code

<?php
include_once "simple_html_dom.php";
// the html code loaded (in this case in string mode)
$html = '<div>
 <table>
  <tr>
   <td>prova</td>
   <td>pippo</td>
  </tr>
 </table>
</div>';

$dom = str_get_html($html);
// the selector :contains isn't develop yet
$tds = $dom -> find("td");
foreach($tds as $td){
    if ($td -> innertext == "prova"){
        echo $td -> next_sibling()  -> innertext;
    }
}
?>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜