Get text from next tag

2019-02-24 06:53发布

问题:

I have a html snippet that looks like this (of course surrounded by other html):

<p class="finfot3"><b>Header:</b></p>
<p>Text</p>

How can I get Text from this? I'm using simple_html_dom, but I can use something else if simple_html_dom can't do this.

回答1:

This is untested, but you might be looking for simple_html_doms next_sibling() method.

$html->find('p[class=finfot3]')->next_sibling()->innertext() should return the contents of the second <p> element.



回答2:

Find the p element with the class. Then use

  • $e->next_sibling() - Returns the next sibling of element, or null if not found.

where $e is the element with the class.

For better alternatives to SimpleHtmlDom, see Best Methods to parse HTML



回答3:

preg_match('~<p>(.*)</p>~', $html, $matches);
var_dump($matches);