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 <br /> World"
$expected_result = nl2br(htmlspecialchars($text)); // => "Hello <br/> World"
... That's why we need to use use htmlspecialchars before nl2br
精彩评论