【PHP】提取 只保留中文汉字的方法

6个月前 (12-03 22:09)阅读269回复0
纳兰叶
纳兰叶
  • 管理员
  • 注册排名1
  • 经验值787
  • 级别管理员
  • 主题155
  • 回复6
楼主

php只保留汉字的实现方法:首先创建一个PHP示例文件;然后通过mb_convert_encoding进行转码;最后通过preg_match_all实现过滤掉非汉字字符只保留中文字符即可。

php怎么只保留汉字本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

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遍历只保留中文

可以使用PHP的foreach语法来遍历数组并仅保留中文。

下面是示例代码:

<?php
$array = ['apple', 'banana', 'cherry', '苹果', '香蕉']; // 原始数组
// 创建新数组存放结果
$resultArray = [];
// 遍历原始数组
foreach ($array as $item) {
    if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $item)) { // 判断字符串是否包含中文
        array_push($resultArray, $item); // 将包含中文的元素添加到结果数组中
    }
}
print_r($resultArray); // 输出结果数组
?>

输出结果

<?php
Array
(
    [3] => 苹果
    [4] => 香蕉
)
?>


以上内容仅代表作者观点,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.nly3355.cn/53-5671.html

0
我空虚,我寂寞,还感觉有点冷!
回帖

【PHP】提取 只保留中文汉字的方法 期待您的回复!

您需要 登录账户 后才能发表评论
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息