|
楼主 |
发表于 2020-11-20 10:39:06
|
显示全部楼层
同理按照上面的方法可以实现:
- $message = mb_convert_encoding($message,'UTF-8','GBK'); //先将帖子内容全部转换为UTF-8编码
- $message = trim($message); //去掉头尾空格
- $quanjiaokongge = mb_convert_encoding(' ','UTF-8','GBK'); //转换全角空格为UTF-8编码
- $juhao = mb_convert_encoding('。','UTF-8','GBK'); //转换中文句号为UTF-8编码
- $shenglvehao = mb_convert_encoding('……','UTF-8','GBK'); //转换省略号为UTF-8编码
- $douhao = mb_convert_encoding(',','UTF-8','GBK'); //转换中文逗号为UTF-8编码
- $message = preg_replace(array('/\r\n[ ]+/', '/\r\n\t+/', '/(\r\n){3,}/', '/[ ]{2,}/', '/('.$juhao.'){3,}/', '/('.$juhao.'){2}/', '/('.$douhao.'){2,}/'), array("\r\n\r\n", "\r\n\r\n", "\r\n\r\n", ' ', $shenglvehao, $juhao, $douhao), mb_eregi_replace($quanjiaokongge," ",$message)); //将全角空格替换为半角空格、当行首存在空格/TAB时删除空格/TAB并增加一个空行(以空行分段,减轻阅读疲劳感)、当连续空行高于2行时调整为空1行、将多个连续空格替换为一个空格、当存在两个连续的中文句号时只保留一个句号、当存在三个以上连续的中文句号时替换为省略号、当存在两个以上连续的中文逗号时只保留一个逗号。
- $message = mb_convert_encoding($message,'GBK','UTF-8'); //将替换后的内容转换回GBK编码
复制代码 |
|