簡體   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