2012-11-07 81 views
3

我正在尋找一種方式來HTML格式的文本轉換爲純文本,同時保持它的基本結構,也許會稍微調整了,所以: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格式模板的任何想法?

  • 請注意,結構外最重要的部分是保持錨點。
+0

您應該考慮使用降價或其他輕量級標記語言 – Nicolas

+0

這是目前非選擇。我無權修改這些內容,但我需要以純文本的形式進行修改。 :/ – rebelliard

+0

隨着[Pandoc(http://johnmacfarlane.net/pandoc/try)(哈斯克爾),你可以輕鬆地HTML源轉換爲標記語言。 – Nicolas

回答

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/ 
+0

這實際上看起來不錯,除了丟失的錨點。現在我需要找出是否有可能用l to將錨點旁邊的錨點附加到錨定文本中。 – rebelliard

+0

順便說一句,你是正確的,那是一個有序的列表,但我想強調這並不重要。 – rebelliard

+0

我只是用一個實際的例子做了一個編輯(它希望http://在鏈接中,否則它假設它是本地的),其中包括鏈接。 '-crawl'參數隱藏了鏈接。 – Claude