php 匹配中文字符的正则表达式
匹配中文字符的正则表达式:[u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ascii字符计1)
PHP实例代码如下:
- $str = "singlepoint单点日志";
- if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {
- print("该字符串全部是中文");
- } else {
- print("该字符串不全部是中文");
- }
- $alias_len = mb_strlen($value['alias'], "utf-8");
- $temp_array = array();
- for($i = 0;$i<$alias_len; $i++)
- {
- $temp_array[$i] = mb_substr($value['alias'],$i,1,"utf-8");
- if(ord(substr($temp_array[$i],0,1))>'0xe0' && strlen($temp_array[$i])<3)
- $temp_array[$i] = '';
- }//开源代码phpfensi.com
- $value['alias'] = implode('',$temp_array);