2015-08-18 44 views
2

任何想法如何在Ruby中使用以下字符串?Ruby unescape HTML字符串

C:\inetpub\wwwroot\adminWeb 

C:\inetpub\wwwroot\adminWeb 

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

試圖用URI.decode沒有成功。

回答

7

CGI library是一個選項:

require 'cgi' 

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

謝謝!這是訣竅。 – bsteo

2

另一種是使用標準庫的URI module

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

還有一個變種是HTMLEntities

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

我更喜歡用它因爲它處理罕見的情況爲å—其中CGI.unescapeHTML不是