如何使用nl2br
插入htmlspecialchars
功能?我有一个网站,其中输入来自textarea,nl2br
用于将下一行转换为段落。当我尝试使用htmlspecialchars
时,我得到了以下输出。在这里,我在textarea中写了三个'test'单词并保存在数据库中。我使用htmlspecialchars
来阻止html注入,但由于此函数nl2br
函数无效。你能说出如何解决这个问题吗?
test<br/>test<br/>test<br/>
答案 0 :(得分:9)
哟:
htmlspecialchars(nl2br($text));
你需要:
nl2br(htmlspecialchars($text));
答案 1 :(得分:4)
在致电nl2br
后致电htmlspecialchars
:
echo nl2br(htmlspecialchars($the_text));
答案 2 :(得分:2)
这是关于使用正确的订单,
用htmlspecialchars(nl2br($字符串));将产生你描述的结果。 nl2br(的htmlspecialchars($字符串));将产生你想要的结果。
答案 3 :(得分:1)
<强> nl2br 强>
在字符串
中的所有换行符之前插入HTML换行符
<强>用htmlspecialchars 强>
将特殊字符转换为HTML实体
$text = "Hello \n World";
$unexpected_result = htmlspecialchars(nl2br($text)); // => "Hello <br /> World"
$expected_result = nl2br(htmlspecialchars($text)); // => "Hello <br/> World"
...这就是我们需要在 nl2br
之前使用 htmlspecialchars 的原因