php str_replace 为什么替换不了连续的空格

OSC老司机 发布于 2011/10/30 16:59
阅读 2K+
收藏 2

在DEDECMS的评论页面中加了个编辑器,是设置为精简模式的KindEditor。

想要替换掉连续的换行符,但我写的这个代码无效,不知道问题出在哪里,特来请教。

//过滤连续的换行符
$msg = str_replace('<br /><br />', '', $msg);
//过滤HTML标签,保留允许的标签 php不支持允许 strong em  
$msg = strip_tags($msg, "<span> <b> <i> <u> <img> <a> <br>");

kindeditor 连接敲enter后生成的代码为

来两个称赞<br /><br />在<br /><br /><br /><br />在<br /><br /><br /><br /><br /><br />

 

以下是问题补充:

@OSC老司机:<br /> <br /> <br /> <br /> 刚发现数据库的数据是这样换行的,是不是要加\n,不知道这个实体字符是什么。 (2011/10/30 17:33)
加载中
0
OSC老司机
OSC老司机
//过滤连续的换行符
$msg = str_replace("<br />\r\n<br />\r\n", '', $msg);

解决,之前一直错误地使用 <br />\n

0
mark35
mark35
可以用 nl2br()把 \r\n的换行转换成<br>再替换
返回顶部
顶部