如何在php mysql中使用nt2br函数和htmlspecialchars

时间:2011-08-02 10:54:07

标签: php

如何使用nl2br插入htmlspecialchars功能?我有一个网站,其中输入来自textarea,nl2br用于将下一行转换为段落。当我尝试使用htmlspecialchars时,我得到了以下输出。在这里,我在textarea中写了三个'test'单词并保存在数据库中。我使用htmlspecialchars来阻止html注入,但由于此函数nl2br函数无效。你能说出如何解决这个问题吗?

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

4 个答案:

答案 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 &lt;br /&gt; World"
$expected_result   = nl2br(htmlspecialchars($text)); // => "Hello <br/> World"

...这就是我们需要在 nl2br

之前使用 htmlspecialchars 的原因