我正在寻找从 html 获取纯文本。我应该选择哪一个,php strip_tags还是simplehtmldom明文提取?
simplehtmldom 的一个优点是支持无效的 html,这本身就足够了吗?
我正在寻找从 html 获取纯文本。我应该选择哪一个,php strip_tags还是simplehtmldom明文提取?
simplehtmldom 的一个优点是支持无效的 html,这本身就足够了吗?
strip_tags
就足够了。
由于您提到的原因,您可能应该使用 smiplehtmldom,并且 strip_tags 也可能会在脚本/样式块中留下非文本元素,例如 javascript 或 css
您还可以从未显示的元素中过滤文本(inline style=display:none)
也就是说,如果 html 足够简单,那么 strip_tags 可能会更快并且会完成相同的任务
从 HTML 中提取文本很棘手,因此最好的选择是使用 Html2Text 之类的库。它是专门为此目的而建造的。
https://github.com/mtibben/html2text
使用作曲家安装:
composer require html2text/html2text
基本用法:
$html = new \Html2Text\Html2Text('Hello, "<b>world</b>"');
echo $html->getText(); // Hello, "WORLD"
如果您只想要页面的纯文本呈现,那么 strip_tags 更快更简单。但是,如果您想在该过程中对文本进行任何操作,从长远来看,simplehtmldom 将为您提供更好的服务。
您可能还想删除斜杠 stripslashes()