任务:获取HTML页面并仅保留文本中的文本,格式可用于简单文本:所以如果有<br>
标签,我想将其转换为/ r / n,如果有表格 - 我想在结果文本中保留此表的初始结构,等等。
内置PHP函数strip_tags()
并不符合我的要求,因为它会保留样式和脚本的内容,并且不会保留格式删除<br>
,<table>
和其他标签。
我也读过stack question 'strip html,css from string',但我找不到答案。
基本上我正在寻找一种将HTML页面呈现为TXT文件的方法(没有链接和图像)。可能吗?有没有图书馆在做这件事?
答案 0 :(得分:2)
您可以做的一件事是,您可以进行反向降价。 Markdown有很多HTML实现,可以完成你想要的工作。他们只是将HTML转换为文本,包括休息等。
其中一个实现是html2markdown。它使用NodeJS,你只需要添加它:
html2markdown("<h1>Hello markdown!</h1>")
至少,这会删除标记并将结果作为文本提供,可以轻松地进行标记 - 剥离,因为它具有较少的字符数,例如#
s和---
s。
在GitHub的PHP中还有一个html2markdown的实现。语法再次简单:
$html = "<h3>Quick, to the Batpoles!</h3>";
$markdown = new HTML_To_Markdown($html);
这会让你回复:
echo $markdown; // ==> ### Quick, to the Batpoles!
此插件也可以剥离标记:
$html = '<span>Turnips!</span>';
$markdown = new HTML_To_Markdown($html, array('strip_tags' => true)); // $markdown now contains "Turnips!"