开发者

how to user nl2br function with htmlspecialchars in phpmysql

How to insert nl2br function with htmlspecialchars? I have a site where input is taken from textarea and nl2br is used to convert next line to a paragraph. When I tried with htmlspecialchars I got the below output. Here I wrote three 'test' words in textarea and saved in database. I am using htmlspecialchars to prevent html injections but because of this function nl2br function is not working. Can you tell be how to work around this problem?

test<br/>te开发者_开发问答st<br/>test<br/>


yo do:

htmlspecialchars(nl2br($text));

you need:

nl2br(htmlspecialchars($text));


Call nl2br after you call htmlspecialchars:

echo nl2br(htmlspecialchars($the_text));


It's about using the right order,

htmlspecialchars(nl2br($string)); will produce the result you describe. nl2br(htmlspecialchars($string)); will produce the result you wish.


nl2br

Inserts HTML line breaks before all newlines in a string

htmlspecialchars

Convert special characters to HTML entities

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

... That's why we need to use use htmlspecialchars before nl2br

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜