作者giive (lala)
看板Ruby
标题Re: HTML Filter
时间Thu Nov 16 19:29:40 2006
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