我使用nl2br函数与str_replace如下:
$data = (!empty($_POST['content']))?nl2br($_POST['content']):null;
$data_fix = str_replace(array("'r", "'n"), '', $data);
当我插入数据到数据库下一行自动接收一个<br>
。好了好了。95%的程度上这就是我想要的。但是,如果<textarea>
的下一行之后没有输入字符,它仍然会输入<br>
。
的例子:
我想要的:
Hello Stackoverflow!<br>I am new here.
(new line space eliminated)
结果:
Hellow Stactoverflow!<br>I am new here.<br>
(new line space inserted)
请帮我解决这个问题!
trim()函数将防止添加额外的<br>
,这是不需要的,如果没有文本输入或之后的下一行!
简单替换
$data = (!empty($_POST['content']))?nl2br($_POST['content']):null;
$data = (!empty($_POST['content']))?nl2br(trim($_POST['content'])):null;
它做到了!但是trim()应该在nl2br()之后,否则它将不起作用!
回答了我自己的问题,以供将来寻求同样解决方案的其他人参考!