将HTML代码转换为纯TEXT,文本文件可用格式

时间:2014-05-12 09:28:09

标签: php dom strip-tags text-formatting html-rendering

任务:获取HTML页面并仅保留文本中的文本,格式可用于简单文本:所以如果有<br>标签,我想将其转换为/ r / n,如果有表格 - 我想在结果文本中保留此表的初始结构,等等。

内置PHP函数strip_tags()并不符合我的要求,因为它会保留样式和脚本的内容,并且不会保留格式删除<br><table>和其他标签。

我也读过stack question 'strip html,css from string',但我找不到答案。

基本上我正在寻找一种将HTML页面呈现为TXT文件的方法(没有链接和图像)。可能吗?有没有图书馆在做这件事?

1 个答案:

答案 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!"