resu-6ren">
gpt4 book ai didi

php - 如何使用 PHP 从 HTML 文档中仅提取某些标签?

转载 作者:行者123 更新时间:2023-12-02 03:54:27 25 4
gpt4 key购买 nike

我正在使用爬网程序来检索网络上某些页面的 HTML 内容。我目前将整个 HTML 存储在单个 PHP 变量中:

$string = "<PRE>".htmlspecialchars($crawler->results)."</PRE>\n";

我想要做的是选择所有“p”标签(例如)并将它们存储在一个数组中。正确的方法是什么?

我已经使用 xpath 尝试了以下操作,但它没有显示任何内容(很可能是因为文档本身不是 XML,我只是复制粘贴了其文档中给出的示例)。

$xml = new SimpleXMLElement ($string);

$result=$xml->xpath('/p');
while(list( , $node)=each($result)){
echo '/p: ' , $node, "\n";
}

希望在 PHP 方面有(很多)更多经验的人能够帮助我:D

最佳答案

尝试使用DOMDocument以及DOMDocument::getElementsByTagName 。工作流程应该非常简单。像这样的东西:

$doc = DOMDocument::loadHTML(htmlspecialchars($crawler->results));
$pNodes = $doc->getElementsByTagName('p');

这将返回一个 DOMNodeList。

关于php - 如何使用 PHP 从 HTML 文档中仅提取某些标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9896901/

25 4 0