我正在寻找从html获取纯文本。我应该选择哪一个,php strip_tags或simplehtmldom明文提取?
simplehtmldom的一个专家是支持无效的html,这本身就足够了吗?
答案 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, "<b>world</b>"');
echo $html->getText(); // Hello, "WORLD"
答案 3 :(得分:0)
如果您只想要一个页面的纯文本呈现,那么strip_tags会更快更简单。但是,如果你想在这个过程中对文本进行任何操作,那么从长远来看,simplehtmldom将为你提供更好的服务。
答案 4 :(得分:0)
您可能还想删除斜杠stripslashes()