掲示板みたいなシステムを作ろうとする時、よく使いそうな処理だけど、 ネットで探してみても見つけられなかったので自分で作ってみた。 普段呼び出す h メソッドを拡張して h(string, :except=>["a", "img"]) のように呼び出せるようにする。 そして、できたのが以下。 def html_escape_extend(str, option = {:except => []}) if option[:except].empty? html_escape(str) else allows = option[:except].map{|t|t.downcase} str.gsub(%r!(</?)([a-z]+)([^>]*)(/?>)!mi){|tag| left, name, attr, right = Regexp.last_match.captures if allo