2011-08-02 90 views
6

如何用插入nl2br函數?我有一個網站,其中輸入來自textarea,nl2br用於將下一行轉換爲段落。當我嘗試htmlspecialchars時,我得到了下面的輸出。在這裏,我在textarea中寫了三個「測試」單詞並保存在數據庫中。我使用htmlspecialchars來防止html注入,但由於此功能nl2br函數不起作用。你能告訴如何解決這個問題嗎?如何用phpmysql中的htmlspecialchars用戶nl2br函數

test<br/>test<br/>test<br/> 

回答

8

喲做:

htmlspecialchars(nl2br($text)); 

你需要:

nl2br(htmlspecialchars($text)); 
3

呼叫nl2br後打電話htmlspecialchars

echo nl2br(htmlspecialchars($the_text)); 
+0

感謝這個好回答 – test

2

這是關於使用正確的順序,

htmlspecialchars(nl2br($ string));會產生你描述的結果。 nl2br(htmlspecialchars($ string));會產生你想要的結果。字符串中的所有換行符之前

+0

感謝您的佳音 – test

1

nl2br

插入HTML換行符

用htmlspecialchars

轉換特殊字符爲HTML實體

$text = "Hello \n World"; 
$unexpected_result = htmlspecialchars(nl2br($text)); // => "Hello &lt;br /&gt; World" 
$expected_result = nl2br(htmlspecialchars($text)); // => "Hello <br/> World" 

...這就是爲什麼我們需要使用使用用htmlspecialcharsnl2br