3

我正在寻找一种在保持其基本结构的同时将 HTML 格式的文本转换为纯文本的方法,并且可能会稍作调整,因此:

<p>This is a paragraph.</p>
<ol>
  <li>List item 1.</li>
  <li>List item 2.</li>
</ol>
<p>This is an <a href="www.google.com">anchor</a>.</p>

变成:

这是一个段落。

  • 列出项目 1。
  • 列出第 2 项。

这是一个锚(www.google.com)。

关于如何有效实现大量 HTML 格式模板的任何想法?

  • 请注意,结构之外最重要的部分是保留锚。
4

1 回答 1

3

使用基于文本的浏览器,例如 lynx,并将其输出到标准输出。我不确定它是否适合你所有的调整需求,但它是一个非常快速和简单的开始

lynx -crawl -dump http://stackoverflow.com/questions/13279364/convert-html-to-plain-text-and-keep-basic-formatting

(实际上,我希望您的清单是

1. List item 1.
2. List item 2.

因为它是一个有序列表)

编辑:实际上更多地研究了您的实际用例,它完美地工作:

> echo '<p>This is a paragraph.</p>
<ol>
  <li>List item 1.</li>
  <li>List item 2.</li>
</ol>
<p>This is an <a href="http://www.google.com">anchor</a>.</p>' | lynx -stdin -dump

变成

   This is a paragraph.
    1. List item 1.
    2. List item 2.

   This is an [1]anchor.

References

   1. http://www.google.com/
于 2012-11-07T22:35:38.190 回答