CGI.escapeHTML
非常糟糕,但CGI.unescapeHTML
完全是borked。例如:是否有比CGI for Ruby更好的HTML转义和转义工具?
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
知道所有的数字代码加&
,<
,>
和"
。而escapeHTML
只知道最后四个 - 它不会执行任何数字代码。我明白,转义通常不需要像健壮的一样,因为HTML将允许大多数字符的字面版本,除了CGI.escapeHTML
知道的四个以外。但是消遣应该真的会更好。
有没有更好的工具在那里,至少对于消除?
它不处理—无论是。 – Chloe 2014-03-15 01:32:41