将 HTML 代码转换为纯文本,格式可用于文本文件 [重复]
Posted
技术标签:
【中文标题】将 HTML 代码转换为纯文本,格式可用于文本文件 [重复]【英文标题】:Converting HTML code to plain TEXT with formatting available to text-files [duplicate] 【发布时间】:2014-05-12 09:28:09 【问题描述】:任务:获取 html 页面并仅保留其中的文本,并使用可用于简单文本的格式:因此,如果有 <br>
标签,如果有表格,我想将其转换为 /r/n - 我'希望在结果文本中保留此表的初始结构等。
内置的php函数strip_tags()
不太符合我的要求,因为它会保留样式和脚本的内容,并且不会保留删除<br>
、<table>
和其他标签的格式。
我也阅读了stack question 'strip html,css from string',但没有我正在寻找的答案。
基本上我正在寻找一种将 HTML 页面呈现为 TXT 文件的方法(没有链接和图像)。是否可以?有没有图书馆在做这件事?
【问题讨论】:
【参考方案1】:你可以用它做的一件事是,你可以做一个反向 Markdown。有很多 HTML 到 Markdown 的实现,它可以完成你想要的工作。他们只是将 HTML 转换为文本,包括中断等。
一个这样的实现是html2markdown。它使用 NodeJS,你只需要添加这个:
html2markdown("<h1>Hello markdown!</h1>")
至少,这会去除标签并将结果作为文本提供给你,可以很容易地被降价去除,因为它的字符数更少,比如#
s 和---
s。
在GitHub 中还有另一种 html2markdown 的 PHP 实现。语法也很简单:
$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!"
【讨论】:
以上是关于将 HTML 代码转换为纯文本,格式可用于文本文件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章