2012-08-05 75 views
0

我試着去逃避軌一些文字,但我想用HTML休息,以取代換行符:Rails的部分HTML逃脫

text = "Hi\n<b>there</b><i>italic</i>\nNewline" 

我簡單地使用

<%=text.gsub(/\n/, "<br/>") %> 

但是,這會給我Hi<br/><b>there</b><i>italic</i><br/>Newline我的實際產量。

什麼即時尋找的(如將在瀏覽器中看到的)

Hi 
<b>there</b> 
<i>italic</i> 
Newline 

我將如何逃脫部分(我只希望替換換行符,但所有其他的HTML我想逃脫)

+0

逃生,再加入換行? – 2012-08-05 19:10:10

+0

有沒有函數可以逃脫? – Akshat 2012-08-05 19:41:11

+0

你試過'simple_format' http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html – 2013-10-02 20:11:20

回答

0

首先將<替換爲&lt;以轉義現有HTML,然後將\n替換爲<br />,就像您當前所做的那樣。

+0

這對所有其他角色來說還是安全的嗎? – Akshat 2012-08-05 19:23:29

+0

如果沒有'<',就沒有可能的HTML解析(假設你沒有將它轉儲到一個屬性或'

0

我認爲你需要使用HTML這裏預先標記..

這應該顯示無論你問..

text = "<pre>Hi\n<b>there</b><i>italic</i>\nNewline</pre>" 
<%= text %>