我想获得这个html行的纯文本:
<p>hi i am a developer in <a href="example.com">example</a></p>
明文应为:
您好我是一名开发人员
我使用了这个XPath查询,但它不起作用:
'//p'
任何人都可以帮我用'a'来检索'p'的文字吗?
感谢。
答案 0 :(得分:1)
使用strip_tags()
:
echo strip_tags('<p>hi i am a developer in <a href="example.com">example</a></p>');
如果您想使用Xpath完成此操作,则以下内容应该有效:
$xpath = new DOMXPath($dom);
$node = $xpath->query('//p')->item(0)->textContent;
echo $node;
两个输出:
hi i am a developer in example
答案 1 :(得分:0)
此代码适用于我:
$dom = new DOMDocument;
$dom->loadXML('<p>hi i am a developer in <a href="example.com">example</a></p>');
$xpath = new DOMXPath($dom);
$nodelist = $xpath->query("//p");
for($i=0; $i < $nodelist->length; $i++) {
$node = $nodelist->item($i);
echo $node->nodeValue . "\n";
}
hi i am a developer in example
答案 2 :(得分:0)
您可以使用此xpath查询:
//p/descendant-or-self::text()
答案 3 :(得分:0)
您可以使用以下XPath符号获取所有文本:
xpath = "//text()"