Rails 如何簡單的轉換 HTML 到 text

紅寶鐵軌客
來關注...
關注/停止關注:紅寶鐵軌客
關注有什麼好處?:當作者有新文章發佈時,「思書」就會自動通知您,讓您更容易與作者互動。
現在就加入《思書》,你就可以關注本作者了!
《思書》是一個每個人的寫作與論壇平台,特有的隱私管理,讓你寫作不再受限,討論更深入真實,而且免費。 趕快來試試!
還未加入《思書》? 現在就登錄! 已經加入《思書》── 登入
寫程式中、折磨中、享受中 ......
761   0  
·
2017/05/26
·
1分鐘


轉換 HTML 到 一般網頁上可以顯示的純文字... 簡單?

其實,很不容易的,一般用 Rails 內建的 Strip_tags 以為就好,但是會碰到跳脫文字的問題:& > < ...

很多網路上的建議是用 gsub,不錯用,但是,又是要很大的一段 code,我剛發現一個很好用的方法:

以 "<p>test &amp; test</p>" 這個最簡單的 HTML 來試試:

s="<p>test &amp; test</p>"
truncate(strip_tags(s), length: s.length)
> "test &amp;amp; test"
truncate(strip_tags(s), escape: false, length: s.length)
> "test &amp; test"

看到沒,夠簡單吧,其實只要用內建的truncate,完美的轉換 HTML 到 text!

那如果要在 controller 或是 model 中,轉換 HTML 到 text 呢?也很簡單,只是,這時你就要呼叫 ActionView 中的功能,以下就是轉換的呼叫方式:

ActionView::Base.full_sanitizer.sanitize(string_wtih_html_tag)

就這樣,你就可以在 controller 或是 model 中呼叫 rails view 功能了,同時,你也可以在 Rails console 中驗證了。


喜歡作者的文章嗎?馬上按「關注」,當作者發佈新文章時,思書™就會 email 通知您。

思書是公開的寫作平台,創新的多筆名寫作方式,能用不同的筆名探索不同的寫作內容,無限寫作創意,如果您喜歡寫作分享,一定要來試試! 《 加入思書》

思書™是自由寫作平台,本文為作者之個人意見。


文章資訊

分類於:
標籤:
日期:
創作於:2017/05/26,最後更新於:2019/05/02。
合計:224字


分享這篇文章:
關於作者

很久以前就是個「寫程式的」,其實,什麼程式都不熟⋯⋯
就,這會一點點,那會一點點⋯⋯




參與討論!
現在就加入《思書》,馬上參與討論!
《思書》是一個每個人的寫作與論壇平台,特有的隱私管理,用筆名來區隔你討論內容,讓你的討論更深入,而且免費。 趕快來試試!
還未加入《思書》? 現在就登錄! 已經加入《思書》── 登入


×
登入
申請帳號

需要幫助
關於思書

暗黑模式?
字體大小
成人內容未過濾
更改語言版本?