您好,欢迎来到码863代码分享网! 请[登录] / [注册]

去掉中文空格、特殊空格的PHP正则代码

编辑

中文空格这里面有好几种:比如半角全角空格,比如段落符都会显示为空白的,unicode(utf8)编码为C2A0,半角空格

1 大部分用str_replace替换

2 正则 /[\s| ]+/   注意|后面的跟的是全角空格

3 mb中的正则替换也可以试试

4 去头尾用trim


去除c2a0分析

$str=' 中华人      民       共和      国  ';

$str= preg_replace('/[(\xc2\xa0)|\s]+/', '', $str); //拿别人的,这种方式把独立的c2与a0替换了  危险

$str=preg_replace('/(\xc2\xa0|\s)+/',' ',$str);     //这种连续的替换 应当是安全的  项目准备用它

$str=preg_replace('/[\x{c2a0}\s]+/u',' ',$str);    //这种方式应当也是行的结果对了,但用 var_dump(preg_match('/[\x{c2a0}+]/u',$str));  测试不通过

/**
 * 多个空格合成一个后trim
 * @param string $str 
 * @return string
 */
function spacesToOne($str){
	return trim(preg_replace('/(\s| |\xc2\xa0)+/',' ',$str));
}


// 首先去掉头尾空格

$str = trim($str);


// 多余的空白符替换成一个空格

preg_replace('/[\s]+/',' ', $keywords[$k])


// 接着去掉两个空格以上的

$str = preg_replace(’/\s(?=\s)/’, '', $str);


当中的(?=)表示只匹配后面的空格跟随前面的空格的空格。


CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网 湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.24555516242981 秒,PHP脚本用时 0.247402 秒,占用内存 0.498 MB,Gzip 已启用