Re: HTML Filter
http://lightyror.blogspot.com/2006/11/html-fliter-part2sanitizeyml.html
根據上一篇 HTML Filter ,我們發現到這個 sanitize 很好用。但是,但是,他的 okTags 太醜了,我不喜歡。
def sanitize( html, okTags='a href, b, br, i, p' )
我在想,能不能更加的 Ruby 化一點,所以我就花了點時間改寫一下程式,變成了新版的 sanitize。我們將 allow 的 tag 跟 attribute 寫在 yml 裡面,然後執行時 load 進去,這樣似乎比較結構化一點,並且可以在 Rails 使用。License 是 MIT
首先,你先寫一個 allow_tags.yml 的 file ,原本 okTags = 'a href target, b, br, p, i' 變成了
a:
- href
- target
b:
br:
p:
i:
a: 代表你接受 a 這個 tag ,後面加上 -href 代表你接受 a tag 底下的 href attribute ,如果你還要加一個 target attribute 就是加一個 -target ,不難懂吧。
如果你在 Ruby on Rails 裡面,建議放在 config 下面。然後,將這段程式放到任何可以 loading 的地方即可。
程式下載處
http://arbor.ee.ntu.edu.tw/~wisely/sanitize.rb
--
lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.218.90.242
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章