大家看看这些天我博客中那积极人士“张辽”同志,像他这种造访者的到来确实是一乐事,但是看看他都留下一些什么内容,内容不说,在这种长篇评论的基础上疯狂的回车确实有些让人火大,占据了大块的界面,十分难看.但是又不想让Akismet或者小墙拒绝他们的内容,因为他们比起那些推土机,麻将机或者豆浆机的链接式广告要好的多,同时也不能通过繁琐的修改评论内容或者直接删除而打击他们造访的积极性.网友张辽在图中这种行为实在是“令人发指”,所以,我只能出此下策,将评论内容中的换行效果去除并将换行符全部替换成逗号.其次,我在这里公开地对他和他那行为表示感谢,不然的话我就发现不了我博客的“安全隐患”.
将以下代码添加至主题的function.php文件内(注意add_filter中的第三个参数,尽量不要去修改,这个数值越小优先权越高,除非有其他代码更重要.)
function unNewLine($text=''){
$replace =array("'([\r\n\s])'","'<br>'");
$t= preg_replace($replace, " , ", $text);
//注意被替换后的逗号前后有空格,至于为什么要留下空格试试每行一个URL就清楚了
return $t;
}
应该没有几个朋友会到别人博客去留言采用诗词方式吧?所以这样好多了,不然整个界面被搞得乱七八糟,真是的.
另外,这个代码并不会100%将内容强制不换行的,因为评论容器本身也具有MultiLine属性,所以恰到好处!
补充:
博友老七的一连串句号让我发现瑕疵很大,整串中文句号没有被div容器执行换行,居然跑到边框外边去了,更是吓人,Google一下,发现给容器布局添加
这段代码就解决了问题.
- 转载请注明来源:凤凰不归巢 » 《轻松去除评论内容的换行效果》
- 本文链接地址:http://wancheng.li/1369.html

本文有 55 条评论
换行有啥关系咧 , 我很喜欢换行说话 , 感觉这样更能让人看明白 , 要不一长坨很容易失去兴趣。
不是不喜欢换行,是为了针对一些问题.呵呵