首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOMCrawler纯文本

DOMCrawler纯文本
EN

Stack Overflow用户
提问于 2015-08-10 19:39:15
回答 3查看 1.1K关注 0票数 2

我正在使用Symfony的DomCrawler从网站上获取信息。

在其中一个页面中,有一个文本包含非html编码的属性,如下所示:

代码语言:javascript
复制
<a href="some-url.html">Lorem ipsum <<dolor sit>> amet </a>

当我试图使用filterXPath方法从a标记中抓取文本时,我得到了Lorem ipsum <,因为正如我所设想的那样,它会表现为像破坏的html标记那样的符号,而只是忽略它们。

此外,当我尝试使用$node->filterXPath('my-xpath/a')->html()时,我也会得到一个坏的html,如下例所示:

代码语言:javascript
复制
<a href="some-url.html">Lorem ipsum &gt;</a>

那么,我的问题是,是否有任何方法将“纯文本”从节点中删除?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-14 15:41:31

在GitHub上讨论了这个问题之后,似乎没有解决办法来“解决”我的问题。唯一的解决办法是修复损坏的html。

票数 0
EN

Stack Overflow用户

发布于 2015-08-10 19:51:17

我认为你要寻找的东西可以通过以下方法来完成:

$node->filterXPath('my-xpath/a')->text();

您可以在Symfony DOM Crawler文档站点上找到文档。

票数 1
EN

Stack Overflow用户

发布于 2015-08-14 19:55:22

那么,我的问题是,是否有任何方法将“纯文本”从节点中删除?

是的,但是您需要首先修复HTML。顺便说一句,您不需要手工处理,HTML整齐扩展会自动完美地处理您的情况。

在爬行之前,只需整理HTML即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31927748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档