[英]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)
=> "<img src="foo" />\\r\\n\\r\\nhttp://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.