CGI.escapeHTML
è piuttosto male, ma CGI.unescapeHTML
è completamente borked. Per esempio:Esiste uno strumento migliore per l'escape e lo escape di HTML rispetto a CGI per Ruby?
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 "…"
Sembra che unescapeHTML
sa di tutti i codici numerici più &
, <
, >
e "
. E escapeHTML
conosce solo gli ultimi quattro - non fa nessuno dei codici numerici. Capisco che l'escaping in genere non debba essere così robusto dal momento che HTML consentirà la versione letterale della maggior parte dei caratteri tranne i quattro che sono noti a CGI.escapeHTML
. Ma senza scampo dovrebbe essere davvero meglio.
C'è uno strumento migliore là fuori, almeno per scortecciamento?
Non gestisce — neanche. – Chloe