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

yipeiwu_com6年前PHP代码库
<?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; //输出 中文字符

?>

相关文章

PHP is_subclass_of函数的一个BUG和解决方法

is_subclass_of的作用: 复制代码 代码如下:bool is_subclass_of ( object object, string class_name )如果对象 obj...

3种php生成唯一id的方法

小编在网上查了许多关于php生成唯一id方法的文章,发现有很多的方法,特整理本文与大家分享php生成唯一id的解决方法,希望大家喜欢。 1、md5(time() . mt_rand(1,...

PHP Post获取不到非表单数据的问题解决办法

问题描述 在使用vue-axios向后端post数据时,PHP端获取不到post的数据。 问题解决 修改php.ini配置 找到php.ini配置文件,查找enable_post_...

php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法

没有找到 PHP 扩展 mbstring,而您现在好像在使用多字节字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确分割字符串,可能产生意想不到的结果。 无法加载mc...

PHP中功能强大却很少使用的函数实例小结

本文实例讲述了PHP中功能强大却很少使用的函数。分享给大家供大家参考,具体如下: call_user_func_array — 让参数以数组的形式调用一个函数 call_user_fun...