我正在使用textarea来获取我插入数据库的数据。
我正在使用htmlspecialchars()去除单引号和双引号但它不会将新行转换为某些东西,所以我留下了很长的代码,没有新行和看起来很乱。
我已经查过手册,但我找不到如何转换它。
我该怎么做?
编辑:
我的预期输出与用户输入的输出相同。
所以,如果他们输入了textarea ......
Hi
This is another line
This is another line
它将存储在数据库中,如...
Hi\r\nThis is another line\r\n This is another line.
或类似的东西。
然后当我再次回应它时,应该没问题。
答案 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 />