[英]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.