php只保留汉字的实现方法:首先创建一个PHP示例文件;然后通过mb_convert_encoding进行转码;最后通过preg_match_all实现过滤掉非汉字字符只保留中文字符即可。
本文操作环境: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] => 香蕉 ) ?>




还没有评论,来说两句吧...