PHP实现过滤掉非汉字字符只保留中文字符

时间:2022-10-21 18:38:30
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$str = "a 1b 2b<中文>。xxyy字符";
 
//转换 GB2312 -> UTF-8
$str = mb_convert_encoding($str, 'UTF-8', 'GB2312');
 
preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $str, $matches);
$str = join('', $matches[0]);
 
//转换 UTF-8 -> GB2312
$str = mb_convert_encoding($str, 'GB2312', 'UTF-8');
 
echo $str; //输出 中文字符
 
?>