php字符串如何只提取中文字符

发布时间:2022-09-23 09:32:13 作者:iii
来源:亿速云 阅读:208

本文小编为大家详细介绍“php字符串如何只提取中文字符”,内容详细,步骤清晰,细节处理妥当,希望这篇“php字符串如何只提取中文字符”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

两种方法:1、用preg_match_all()配合正则过滤字符串,语法“preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);”;2、用preg_replace()配合正则搜索字符串中的非中文字母,并将其替换成空字符,语法“preg_replace("/[^\x{4E00}-\x{9FFF}]+/u",'',$str)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,可以利用以下两种函数来只提取字符串的中文字符

方法1:使用preg_match_all()函数

preg_match_all()函数配合正则表达式“/[\x{4e00}-\x{9fff}]+/u”可以过滤字符串,只获取中文字符。

会将匹配的中文字符一个个存入数组中(该数组由第三个参数指定)。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "欢迎4546来到php这里。zblog,我的?#$%^天呀&())*(&^";
echo $str;
preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);
var_dump($arr);
?>

php字符串如何只提取中文字符

然后可以使用join()函数将结果值拼接成一个字符串。

join('',$arr[0])

php字符串如何只提取中文字符

说明:

1)preg_match_all()函数

preg_match_all()函数会搜索字符串中所有可以和正则表达式匹配的结果

preg_match_all(pattern,subject,matches,flags,offset)

参数说明如下:

preg_match_all() 函数可以返回 pattern 的匹配次数(可能是 0),如果发生错误则返回 FALSE。

2)join()函数

join() 函数返回一个由数组元素组合成的字符串。

join() 函数是 implode() 函数的别名。

join(separator,array)

返回值:返回一个由数组元素组合成的字符串。

方法2:使用preg_replace()函数

preg_match_all()函数配合正则表达式“/[^\x{4E00}-\x{9FFF}]+/u”搜索字符串中的非中文字母,并将其替换成空字符''即可。

<?php
header("Content-type:text/html;charset=utf-8");
$str= '亿速云!-=1548';
echo $str."<br>";
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u";
$newstr=preg_replace($pattern,'', $str);preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);
var_dump($newstr);
?>

php字符串如何只提取中文字符

说明:preg_replace()

preg_replace() 函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数,该函数的语法格式如下:

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

参数说明如下:

如果 $subject 是一个数组,preg_replace() 函数会返回一个数组,其他情况下返回一个字符串。

如果函数 preg_replace() 搜索到匹配项,则会返回被替换后的 $subject,否则返回没有改变的 $subject。preg_replace() 函数的每个参数(除了参数 $limit)都可以是一个数组。如果参数 $pattern 和参数 $replacement 都是数组,那么该函数将以其键名在数组中出现的顺序来进行处理。如果发生错误,则返回 NULL。

参数 $replacement 中可以包含后向引用 \\n 或 $n,语法上首选后者。每个这样的引用将被匹配到的第 n 个捕获子组捕获到的文本替换。n 可以是 0-99,\\0 和 $0 代表完整的模式匹配文本。

读到这里,这篇“php字符串如何只提取中文字符”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. PHP截取中文字符串方法
  2. php 字符串转数组 提取中文 提取英文 字符串类型

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:php如何去除字符串后三位

下一篇:php如何获取数组某一项的值

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》