Ruby 转义 HTML 字符串

Ruby unescape HTML string

知道如何对 Ruby 中的以下字符串进行转义吗?

C:\inetpub\wwwroot\adminWeb

C:\inetpub\wwwroot\adminWeb

或到

C%3A%5Cinetpub%5Cwwwroot%5CadminWeb

尝试 URI.decode 但没有成功。

CGI library是一个选项:

require 'cgi'

CGI.unescapeHTML('C:\inetpub\wwwroot\adminWeb')
# => "C:\inetpub\wwwroot\adminWeb"

另一种方法是使用标准库的 URI module:

require 'uri'
URI.unescape "C%3A%5Cinetpub%5Cwwwroot%5CadminWeb" # => "C:\inetpub\wwwroot\adminWeb"

另一个变体是 HTMLEntities

HTMLEntities.new.decode "C:\inetpub\wwwroot\adminWeb"             
# => "C:\inetpub\wwwroot\adminWeb"

我更喜欢使用它,因为它处理罕见的情况,如å—,而CGI.unescapeHTML不会