ruby 在Rails中编码HTML脚本

mrfwxfqh  于 2023-08-04  发布在  Ruby
关注(0)|答案(2)|浏览(78)

我想编码HTML脚本。
我有这样的文字:

"<a href="https://www.w, <script></script>"

字符串
我只想解码

&lt; and &gt; to < and >.


我有一个这样的方法:

def name
  a = [last_name.to_s + ',', first_name].compact.join(' ')
  Loofah.fragment(a).text(encode_special_chars: false) 
end


但使用Loofah.fragment它是解码所有的html脚本广告显示如下:

"<a href=\"https://www.w, <script></script>" but I want only < and >


谁能帮帮我。

slmsl1lt

slmsl1lt1#

你可以在你的案例中使用字符串替换方法,如下面的例子:

"&lt;a href=&quot;https://www.w, &lt;script&gt;&lt;/script&gt;".gsub("&lt;","<").gsub("&gt;",">")

字符串

nuypyhwy

nuypyhwy2#

this Q&A中所述,您可以使用CGI或Nokogiri:

CGI.unescapeHTML("&lt;a href=&quot;https://www.w, &lt;script&gt;&lt;/script&gt;")

Nokogiri::HTML.parse(""&lt;a href=&quot;https://www.w, &lt;script&gt;&lt;/script&gt;")

字符串
但是,正如上面提到的那样,你可能没有在视图助手中处理原始的html。

<%= raw '<html>' %>

相关问题