我們有一個默認自動生成的顯示消息,但可能會被來自url的GET變量覆蓋。由於我們需要將消息視爲用戶輸入,因此必須轉義才能顯示。但是,我們希望保留包含換行符的能力。在轉義html中渲染換行符
換行符<br>
這不會起作用,因爲逃避HTML破壞<br>
標籤。
換行符\n
我無法弄清楚如何讓\n
呈現爲換行符。我認爲把它在一個標籤將正確地呈現,但沒有運氣:http://jsfiddle.net/7L932/
我們有一個默認自動生成的顯示消息,但可能會被來自url的GET變量覆蓋。由於我們需要將消息視爲用戶輸入,因此必須轉義才能顯示。但是,我們希望保留包含換行符的能力。在轉義html中渲染換行符
換行符<br>
這不會起作用,因爲逃避HTML破壞<br>
標籤。
換行符\n
我無法弄清楚如何讓\n
呈現爲換行符。我認爲把它在一個標籤將正確地呈現,但沒有運氣:http://jsfiddle.net/7L932/
你在做什麼是除了你應該把\n
字符(新行)或多或少的罰款,沒有轉義序列在你的html中(Prinzhorn所說的也很有道理,所以我會讚揚他)。
逃離HTML和然後與<br>
取代\n
。如果你想使用\ n
,我解決您的搗鼓你http://jsfiddle.net/hr3bg/
我們讓我們的模板框架好點 - 爲我們做退讓,但我們可以只是做它手動.. – Yarin
您的理論的聲音,但\n
是不是HTML認可的插入新行的方式。它或者明確地(因爲我插入了新的.linebreaks
元素)作爲標記中的文字返回,或者,如果您使用某種中介腳本語言確實確認\n
(如JS),請執行該操作( 。因爲我做你的第一個.linebreaks
與我插入了jQuery代碼
看到我的調整,以你的例子:http://jsfiddle.net/barney/7L932/2/
邁克爾 - 對不起,我不明白你的答案的第一部分,你可以澄清? – Yarin
@Yarin你直接寫了「\ n」而不是擊中返回鍵;-) – Prinzhorn
那麼,在jsfiddle中鏈接的是包含反斜槓和'n'的HTML。你想要的是'\ n'組合代表的角色。就像,如果在JavaScript中使用字符串'「a \ nb」',它將不包含反斜槓和字母n。 –