如果你想得到:
- 文本
- 在
<div>
标签内 - 这本身里面
<div>
有
我会说最简单的方法是不使用DOMdocument::getElementsByTagName
-它将返回所有具有特定名称的标签 (虽然您只需要其中的一些 标签 ) 。
相反,我会使用 DOMXpath
该类在您的文档上使用XPath查询。
例如,应该执行以下 *** 作将HTML字符串加载到DOM对象中,并实例化
DOMXpath类:
$html = <<<HTML<div > <div > Capture this text 1 </div></div><div > <div > Capture this text 2 </div></div>HTML;$dom = new DOMdocument();$dom->loadHTML($html);$xpath = new DOMXPath($dom);
然后,您可以将XPath查询与DOMXPath::query
方法一起使用,该方法返回您正在搜索的元素的列表:
$tags = $xpath->query('//div[@]/div[@]');foreach ($tags as $tag) { var_dump(trim($tag->nodevalue));}
执行此 *** 作后,我得到以下输出:
string 'Capture this text 1' (length=19)string 'Capture this text 2' (length=19)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)