php正则表达匹配中文汉字
正则匹配中文汉字根据字符编码不同而略有区别:
示例:
1、匹配UTF8编码字符中的汉字:
2、匹配GB2312编码字符中的汉字:
3、匹配GBK编码字符中的汉字:
- GBK编码 - [\x80-\xff]+
- GB2312编码 - [x\a1-\xff]+
- UTF-8编码 - [\x{4e00}-\x{9fa5}]+/u
示例:
1、匹配UTF8编码字符中的汉字:
<?php
// 删除字符串中所有汉字
echo preg_replace("#[\x{4e00}-\x{9fa5}]#u", "", '爱E族: aiezu.com');
// E: aiezu.com
// 删除字符串中所有非汉字字符
echo preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", '爱E族(aiezu.com)');
// 输出: 爱族 2、匹配GB2312编码字符中的汉字:
<?php
//GB2312替换中文为空,输出:Eaiezu.com
echo preg_replace("#[\xa1-\xff]+#", "", '爱E族(aiezu.com)');
//GB2312替换非中文为空,输出:爱族()
echo preg_replace("#[^\xa1-\xff]+#", "", '爱E族(aiezu.com)');3、匹配GBK编码字符中的汉字:
<?php
// GBK编码删除中文字符,输出:Eaiezu.com
echo preg_replace("#[\x80-\xff]+#", "", '爱E族:aiezu.com');
//GBK编码删除非中文字符,输出:爱族:
echo preg_replace("#[^\x80-\xff]+#", "", '爱E族:aiezu.com');