Php 使用nl2br在我的文本区域中显示html标记

Php 使用nl2br在我的文本区域中显示html标记,php,html,nl2br,Php,Html,Nl2br,我刚开始在我的php站点中使用。 基本上,我用它来给一个“bio”字段一个好的布局,以防用户按enter键 问题是它在我的数据库中存储了确切的换行标记,当我将相同的数据从服务器显示到文本区域时,它也会这样做 //grabbing the data in the text area field $bio = trim($_POST['bio']); //displaying the value from the database $row = mysql_fetch_array($my_sele

我刚开始在我的php站点中使用。 基本上,我用它来给一个“bio”字段一个好的布局,以防用户按enter键

问题是它在我的数据库中存储了确切的换行标记

,当我将相同的数据从服务器显示到文本区域时,它也会这样做

//grabbing the data in the text area field
$bio = trim($_POST['bio']);

//displaying the value from the database
$row = mysql_fetch_array($my_select_query);
<textarea><?php echo $row['bio']?; ></textarea>
如何防止文本区域显示实际的

标记 这是我的示例代码

//grabbing the data in the text area field
$bio = nl2br(htmlentities(trim($_POST['bio'])));

//displaying the value from the database
$row = mysql_fetch_array($my_select_query);
<textarea><?php echo $row['bio']?; ></textarea>
//在文本区域字段中获取数据
$bio=nl2br(htmlentities(修剪($_POST['bio']));
//显示数据库中的值
$row=mysql\u fetch\u数组($my\u select\u query);

在页面上显示字段时使用nl2br功能,而不是在编辑时使用。通过这种方式,字段以嵌入的换行符而不是HTML片段的形式存储,这意味着它也可以用于其他目的。

在将其存储到数据库之前,您不应该
nl2br()
,甚至不应该
htmlentities()
输入。我倾向于保持合理的原始状态,这给了以后更大的改变空间

如果这已经在生产中,您可以创建自己的
br2nl()
函数,该函数可以反转
nl2br()
的效果:

函数br2nl($input){
返回preg_replace('//i','$input);
}

请勿使用nl2br在银行记录信息

因此,当它显示时,它将尊重先前插入文本区域的换行符

//grabbing the data in the text area field
$bio = trim($_POST['bio']);

//displaying the value from the database
$row = mysql_fetch_array($my_select_query);
<textarea><?php echo $row['bio']?; ></textarea>
//在文本区域字段中获取数据
$bio=修剪($_POST['bio']);
//显示数据库中的值
$row=mysql\u fetch\u数组($my\u select\u query);

你能发布更多的PHP代码吗?该
$bio
变量从未使用过
$my_select_query
从未初始化…
nl2br()
用于在非文本区域中显示在文本区域(带换行符)中输入的文本。在存储到数据库之前不要使用它。仅在显示时使用它。“问题是它在我的数据库中存储了确切的换行标记”—而不是“它”这样做—您这样做。所以不要这样!在输出数据时使用该函数,而不是在将数据放入数据库时使用该函数。当您将内容显示为textarea的值时,不要使用它。真的很简单,不是吗?谢谢,我想我现在一切都正常了等等,所以真的没有必要在我的数据库中存储
标记,对吗?不仅没有必要,而且以后的生活会变得更加困难!从数据库中显示数据时,nl2br函数不起作用。所有内容仍然显示在一行上。你是说nl2br函数实际上并没有将换行符转换为换行标记吗?哦,我想我知道它现在是如何工作的了。当我在文本区域中显示数据时,它实际上是有效的。但当我将数据显示为普通html(不在文本区域或输入中)时,我使用的是反转ln2br的函数