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] => 香蕉 ) ?>
还没有评论,来说两句吧...