我在我的數據庫中爲我的Q &網站保存了降價文本和html版本的文本。如何將降價(WMD)文本轉換爲純文本
當用戶瀏覽問題時,他們正在查看降價片段。他們應該只能查看純文本,就像在瀏覽器上顯示標題文本或html文本時的問題一樣。
有沒有辦法將markdown或html文本轉換爲純文本?
我在我的數據庫中爲我的Q &網站保存了降價文本和html版本的文本。如何將降價(WMD)文本轉換爲純文本
當用戶瀏覽問題時,他們正在查看降價片段。他們應該只能查看純文本,就像在瀏覽器上顯示標題文本或html文本時的問題一樣。
有沒有辦法將markdown或html文本轉換爲純文本?
有關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標籤。
在這個問題中,我把「你好」字加粗了......如果你可以回去瀏覽這個問題「Hello」不會是粗體的,這就是我需要的 – Luke101 2010-07-07 03:44:09
你可以通過在標記中「消毒」和'標籤 – 2010-07-07 03:45:31
我可以問你爲什麼要使用Markdown只顯示純文本?爲什麼不直接使用TextArea? – 2010-07-07 03:45:58
另一個解決方案是使用降價XSLT文件。
這似乎從我的研究,你只需要存儲的降價在數據庫中,然後你清理所有輸出。這也將減少您的存儲需求。 – 2010-07-07 03:47:47
只是出於好奇 - 如果您不打算向最終用戶顯示HTML,爲什麼要從降價產生它,爲什麼要存儲它? – 2010-07-07 03:48:15
@Franci,在我的回答中看到我的評論。我「認爲」他指的是在預覽中沒有HTML(注意他如何提到「瀏覽這個問題」 – 2010-07-07 03:51:13