如何解析链接和转义html实体?

如何解析链接和转义html实体?,html,ruby-on-rails,ruby-on-rails-3,actionview,html-escape-characters,Html,Ruby On Rails,Ruby On Rails 3,Actionview,Html Escape Characters,我想呈现一些用户提供的内容 显然,内容应该转义,rails默认情况下会这样做。但是,我还想解析文本,以便URL以链接的形式呈现 有一个auto\u链接helper,它就是这样做的。然而,无论我以什么顺序做这件事,我都不能得到想要的结果 获取内容: content => "<img src=\"foo\" />\\r\\n\\r\\nhttp://google.com" 如果我首先使用

我想呈现一些用户提供的内容

显然,内容应该转义,rails默认情况下会这样做。但是,我还想解析文本,以便URL以链接的形式呈现

有一个
auto\u链接
helper,它就是这样做的。然而,无论我以什么顺序做这件事,我都不能得到想要的结果

获取内容:

content                                             
  => "<img src=\"foo\" />\\r\\n\\r\\nhttp://google.com"
如果我首先使用自动链接,显然链接将被转义。此外,自动链接会剥离不需要的内容,而不是转义。如果输入中存在脚本标记,我希望它不会被删除

auto_link(content)                                  
  => "<img src=\"foo\" />\\r\\n\\r\\n<a href=\"http://google.com\">http://google.com</a>"
自动链接(内容)
=>“\\r\\n\\r\\n”
你知道如何获得期望的输出吗


谢谢您的帮助。

您可以使用
content.gsub删除所有转义的空白字符!(/\。/,“”)
。然后您就可以使用
auto_-link

我最终使用的解决方案是放弃auto_-link,让Rack从我的content server端退出,然后使用

我在以下方面取得了成功:

auto_link(h(content))

如何将内容保存到数据库?您是否在保存内容之前对其进行了转义?您可以选择清理内容并保存为纯html吗?它只是数据库中的一个文本字段。而不是在保存之前进行转义,因为将来可能会使用其他非html视图。即使我可以在保存而不是渲染时逃逸,我也必须解决与上面相同的问题。这不就是http:google.com吗?不要认为自动链接会起作用……结果将是
”http://google.com“
gsub
正在替换此模式:“\”空格字符使用向后斜杠和字符。您的URL将是安全的,因为ULR使用正斜杠。好的,我误读了。那没用。我想保留空白,避免html/脚本注入
$('p').urlToLink();
auto_link(h(content))