我使用PHP Simple DOM Parser librairy,我有一个小问题.. 我必须解析一个HTML文档,如:
<div>
here the text I want
<strong>another text</strong>
</div>
&#13;
我想知道是否可以只从div标签中获取文本(而不是强标签中的文本)。是否可以自动执行此操作(不指定文本的位置)?
提前致谢,
约旦。
答案 0 :(得分:0)
您可以获取div
元素的子元素,并查找文本节点(将排除strong
和其他元素):
$html = "<div>
here the text I want
<strong>another text</strong>
</div>";
$dom = new DOMDocument;
$dom->loadHTML($html);
$div = $dom->getElementsByTagName('div')[0];
$text = "";
foreach($div->childNodes as $node) {
if ($node->nodeType == XML_TEXT_NODE) $text .= $node->nodeValue;
}
echo trim($text);
如果根元素不总是div
,但可以是任何元素,那么将分配更改为 $ div ,如下所示:
$div = $dom->getElementsByTagName('body')[0]->childNodes[0];