优雅的html转义字符串,可能已被转义

时间:2018-04-23 20:51:40

标签: html ruby escaping

我有一个字符串可能会或可能不会转义为HTML。我想确保逃跑。

当字符串未转义时,CGI.escapeHTML按预期工作:

"queen's" - > "queen's"

但是,当字符串被预先转义时,它不会给出正确的结果:

"queen's" - > "queen's"

一种解决方案是在调用CGI.unescapeHTML之前致电CGI.escapeHTML。有什么方法可以用不那么黑的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

在调用CGI::unescapeHTML之前调用GCI::escapeHTML是实现此目的的最简单,最直接的方法。

例如:

require 'cgi'

def to_escapedHTML
  CGI::escapeHTML(CGI::unescapeHTML(self))
end

pp to_escapedHTML("queen's")