Nl2br()函数ads <br>如果下一行/后没有输入字符


nl2br() function ads <br> if no character is entered after/in the next line

我使用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()之后,否则它将不起作用!

回答了我自己的问题,以供将来寻求同样解决方案的其他人参考!