【问题标题】:Ruby unescape HTML stringRuby 转义 HTML 字符串
【发布时间】:2015-08-18 06:26:02
【问题描述】:

知道如何在 Ruby 中取消转义以下字符串吗?

C:\inetpub\wwwroot\adminWeb

C:\inetpub\wwwroot\adminWeb

或到

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

尝试使用URI.decode 没有成功。

【问题讨论】:

    标签: ruby html-escape-characters


    【解决方案1】:

    CGI library 是一种选择:

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

    【讨论】:

      【解决方案2】:

      还有一个变种是HTMLEntities

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

      我更喜欢使用它,因为它可以处理å— 等罕见的情况,而CGI.unescapeHTML 却没有

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2014-03-17
          • 1970-01-01
          • 2012-05-27
          • 1970-01-01
          • 1970-01-01
          • 2012-03-03
          • 2011-05-07
          • 1970-01-01
          • 2012-03-25
          相关资源
          最近更新 更多