やりたいこと
&
を &
に変換したい またはその逆
コード
Rubyにはcgiモジュールが標準で入っているので CGI.escapeHTML を使う
require 'cgi' CGI.escapeHTML '<a> &' # => "<a> &"
逆もまた然り CGI.unescapeHTMLを使えばおk
irb(main):016:0> CGI.unescapeHTML "<a> &" => "<a> &"
注意点
悪名高いno-break spaceは対象外なので注意
irb(main):011:0> CGI.unescapeHTML "\u00A0" => " "
になるわけではない