PHP textarea进入数据库

时间:2013-09-13 00:23:34

标签: php html

我正在使用textarea来获取我插入数据库的数据。

我正在使用htmlspecialchars()去除单引号和双引号但它不会将新行转换为某些东西,所以我留下了很长的代码,没有新行和看起来很乱。

我已经查过手册,但我找不到如何转换它。

我该怎么做?

编辑:

我的预期输出与用户输入的输出相同。

所以,如果他们输入了textarea ......

Hi
This is another line
This is another line

它将存储在数据库中,如...

Hi\r\nThis is another line\r\n This is another line. 

或类似的东西。

然后当我再次回应它时,应该没问题。

3 个答案:

答案 0 :(得分:2)

安东尼,

如果你指的是什么时候把它拿回来并且你希望它看起来不错,并且你没有把它放回到textarea中,你可以使用神秘的函数nl2br()将新行字符转换为HTML
字符。

$data = 'Testing\r\nThis\r\nagain!\r\n';
echo nl2br($data);

这导致:

Testing
This
again!

答案 1 :(得分:1)

我相信你要找的是

nl2br($string);

这会将回报转换为<br>代码

我也会给你这个脚本,过去当nl2br没有这个脚本时效果很好。

$remove = array("\r\n", "\n", "\r", "chr(13)",  "\t", "\0", "\x0B");
$string = str_replace($order, "<br />", $string);

答案 2 :(得分:0)

应该是:

<?php

addslashes( strip_tags( nl2br( $data ) ) );

?>

addslashes :将转义引号以阻止sql注入

strip_tags :会移除任何html标记(如果有的话)

nl2br :会将换行符转换为<br />