php:从html中获取纯文本 - simplehtmldom或php strip_tags?

时间:2011-12-05 19:03:15

标签: php extract web-scraping text-extraction simple-html-dom

我正在寻找从html获取纯文本。我应该选择哪一个,php strip_tagssimplehtmldom明文提取?

simplehtmldom的一个专家是支持无效的html,这本身就足够了吗?

5 个答案:

答案 0 :(得分:9)

strip_tags就足够了。

答案 1 :(得分:3)

你应该使用smiplehtmldom,因为你提到的原因,strip_tags也可能会留下脚本/样式块中包含的非文本元素,如javascript或css

您还可以从未显示的元素中过滤文本(内联样式=显示:无)

那就是说,如果html足够简单,那么strip_tags可能会更快并且将完成相同的任务

答案 2 :(得分:1)

从HTML中提取文本很棘手,因此最好的选择是使用像Html2Text这样的库。它是专门为此目的而建的。

https://github.com/mtibben/html2text

使用composer安装:

composer require html2text/html2text

基本用法:

$html = new \Html2Text\Html2Text('Hello, &quot;<b>world</b>&quot;');

echo $html->getText();  // Hello, "WORLD"

答案 3 :(得分:0)

如果您只想要一个页面的纯文本呈现,那么strip_tags会更快更简单。但是,如果你想在这个过程中对文本进行任何操作,那么从长远来看,simplehtmldom将为你提供更好的服务。

答案 4 :(得分:0)

您可能还想删除斜杠stripslashes()