2

我想将特殊字符(从文件中读取)解析为 HTML 格式。例如

**üö ä€ afd sdf sdfüäää** 

<p>&uuml;&ouml; &auml;&euro; afd sdf sdf&uuml;&auml;&auml;&auml;&nbsp;<br />&nbsp;</p>

我在网上找到了一些解决方案:

机架::Utils.escape_html()

CGI::escapeHTML()

ERB::Util.html_escape()

他们每个人对普通文本都做得很好:

HI"ksdlfj</?>>>.dsfklsd

<p>HI"ksdlfj&lt;/?&gt;&gt;&gt;.dsfklsd</p>

但是,当我在输入文本中有这些特殊字符时,它什么也没做。

对此有什么帮助吗?

Rails 版本:3.0.5 红宝石:红宝石 1.9.3p429

谢谢,钱丹

4

2 回答 2

1

你可以使用 htmlentities

require 'htmlentities'
str = "üö ä€ afd sdf sdfüäää"
HTMLEntities.new.encode(str, :named)

#=> "&uuml;&ouml; &auml;&euro; afd sdf sdf&uuml;&auml;&auml;&auml;"
于 2014-07-26T09:28:05.447 回答
0

我终于做到了:

while str.gsub!(/[^0-9A-Za-z]/, ''); end

但是因为我只需要 0-9 和 az。希望这可以帮助!

于 2015-02-05T14:00:57.313 回答