繁体   English   中英

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

[英]How to parse links and escape html entities?

我有一些用户提供的内容要渲染。

显然,内容应转义,Rails默认情况下会这样做。 但是,我也想解析文本,以便将URL显示为链接。

有一个auto_link助手可以做到这一点。 但是,无论我按什么顺序进行操作,都无法获得理想的结果。

取得内容:

content                                             
  => "<img src=\"foo\" />\\r\\n\\r\\nhttp://google.com"

如果对此进行了转义,因为url中的斜杠已转义,则auto_link将不起作用:

Rack::Utils.escape_html(content)                    
  => "&lt;img src=&quot;foo&quot; &#x2F;&gt;\\r\\n\\r\\nhttp:&#x2F;&#x2F;google.com"

如果我先使用auto_link,显然链接将被转义。 另外,auto_link会删除不需要的内容,而不是转义。 如果输入中存在脚本标记,则希望它转义而不删除。

auto_link(content)                                  
  => "<img src=\"foo\" />\\r\\n\\r\\n<a href=\"http://google.com\">http://google.com</a>"

任何想法如何获得所需的输出?

谢谢你的帮助。

您可以使用content.gsub!(/\\\\./, "")所有转义的空白字符。 然后,您将可以使用auto_link

我最终使用的解决方案是放弃auto_link,让Rack转义我的内容服务器端,然后使用https://github.com/gabrielizaias/urlToLink在客户端的文本中解析出链接

$('p').urlToLink();

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

auto_link(h(content))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM