CGI.escapeHTML
很糟糕,但CGI.unescapeHTML
完全无聊。例如:
require 'cgi'
CGI.unescapeHTML('…')
# => "…" # correct - an ellipsis
CGI.unescapeHTML('…')
# => "…" # should be "…"
CGI.unescapeHTML('¢')
# => "\242" # correct - a cent
CGI.unescapeHTML('¢')
# => "¢" # should be "\242"
CGI.escapeHTML("…")
# => "…" # should be "…"
似乎unescapeHTML
知道所有的数字代码加&
、、、<
和。并且只知道最后四个——它不做任何数字代码。我知道转义通常不需要那么健壮,因为 HTML 将允许大多数字符的文字版本,除了知道的四个字符。但是取消转义确实应该更好。>
"
escapeHTML
CGI.escapeHTML
有没有更好的工具,至少可以用来逃避?