如何通过 DOMDocument 从 div 内的段落标签获取内容?

ers*_*yus 2 php xpath dom domxpath

如何通过 获取特定 ID 内的段落标签DOMDocument()

\n\n

例如,HTML 是这样的:

\n\n
<div id=\'content\'>\nxxx yyyy zzzz\n\n\nfffuuu uuuueee\nxxx yyyy pppppp zzzz\n\n<p>i need only this line</p>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我只想P在内容 ID 中获取标签DIV...

\n\n

注 1:我通过以下方式获取 DIV 的全部内容:

\n\n
$doc = new DOMDocument();\n@$doc->loadHTML($html);\n$xpath = new DOMXPath($doc);\n$newcontent = $xpath->query("//*[@id=\'content\']");\n
Run Code Online (Sandbox Code Playgroud)\n\n

注 2: Don\xe2\x80\x99t 说getElementsByTagName;HTML 包含太多P标签。

\n

dav*_*rad 5

我敢:) - 你根本getElementsByTagName不需要:xpath

$doc = new DOMDocument();
@$doc->loadHTML($html);
$p=$doc->getElementById('content')->getElementsByTagName('p')->item(0);
echo $p->nodeValue;
Run Code Online (Sandbox Code Playgroud)

输出

i need only this line
Run Code Online (Sandbox Code Playgroud)