2010-07-07 166 views
2

我在我的數據庫中爲我的Q &網站保存了降價文本和html版本的文本。如何將降價(WMD)文本轉換爲純文本

當用戶瀏覽問題時,他們正在查看降價片段。他們應該只能查看純文本,就像在瀏覽器上顯示標題文本或html文本時的問題一樣。

有沒有辦法將markdown或html文本轉換爲純文本?

+1

這似乎從我的研究,你只需要存儲的降價在數據庫中,然後你清理所有輸出。這也將減少您的存儲需求。 – 2010-07-07 03:47:47

+0

只是出於好奇 - 如果您不打算向最終用戶顯示HTML,爲什麼要從降價產生它,爲什麼要存儲它? – 2010-07-07 03:48:15

+0

@Franci,在我的回答中看到我的評論。我「認爲」他指的是在預覽中沒有HTML(注意他如何提到「瀏覽這個問題」 – 2010-07-07 03:51:13

回答

3

有關StackOverflow的疑問正在HTML中查看,而不是純文本。他們使用Jeff Atwood的HTML sanitizer進行消毒,然後使用MarkDownSharp轉換爲HTML。

asked this question幾個星期前,我最終的解決方案是將原始降價存儲在數據庫中,然後將其顯示給訪問者時進行轉換。

這裏是我如何消毒我降價

 ''# Because some people can be real ass holes and try to submit bad data (scripts and crap) 
     ''# we have to modify the "About" content in order to sanitize it. At the same time, we 
     ''# transform the Markdown into valid HTML 
     user.About = Trim(Utilities.HtmlSanitizer.Sanitize(MarkDownSharp.Transform(user.About))) 

由於MarkdownSharp是開源的,我敢肯定,你可以深入到源代碼,並刪除你不希望看到在附加標籤預覽。

編輯:

因爲在我的例子中,我將降價前消毒的HTML,我想你將不得不刪除這兩個HtmlSanitizer和MarkdownSharp的<b><strong>標籤。原因是你需要清理原始的html標籤和markdown標籤。

+0

在這個問題中,我把「你好」字加粗了......如果你可以回去瀏覽這個問題「Hello」不會是粗體的,這就是我需要的 – Luke101 2010-07-07 03:44:09

+0

你可以通過在標記中「消毒」'標籤 – 2010-07-07 03:45:31

+0

我可以問你爲什麼要使用Markdown只顯示純文本?爲什麼不直接使用TextArea? – 2010-07-07 03:45:58