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');