我正在使用Symfony的DomCrawler从网站上获取信息。
在其中一个页面中,有一个文本包含非html编码的属性,如下所示:
<a href="some-url.html">Lorem ipsum <<dolor sit>> amet </a>当我试图使用filterXPath方法从a标记中抓取文本时,我得到了Lorem ipsum <,因为正如我所设想的那样,它会表现为像破坏的html标记那样的符号,而只是忽略它们。
此外,当我尝试使用$node->filterXPath('my-xpath/a')->html()时,我也会得到一个坏的html,如下例所示:
<a href="some-url.html">Lorem ipsum ></a>那么,我的问题是,是否有任何方法将“纯文本”从节点中删除?
发布于 2015-08-14 15:41:31
在GitHub上讨论了这个问题之后,似乎没有解决办法来“解决”我的问题。唯一的解决办法是修复损坏的html。
发布于 2015-08-10 19:51:17
我认为你要寻找的东西可以通过以下方法来完成:
$node->filterXPath('my-xpath/a')->text();
您可以在Symfony DOM Crawler文档站点上找到文档。
发布于 2015-08-14 19:55:22
那么,我的问题是,是否有任何方法将“纯文本”从节点中删除?
是的,但是您需要首先修复HTML。顺便说一句,您不需要手工处理,HTML整齐扩展会自动完美地处理您的情况。
在爬行之前,只需整理HTML即可。
https://stackoverflow.com/questions/31927748
复制相似问题