• 技术文章 >后端开发 >PHP问题

    php怎么将非中文字母去掉

    青灯夜游青灯夜游2022-04-24 14:32:10原创157

    php将非中文字母去掉的方法:使用preg_replace()函数配合正则表达式来搜索字符串中的非中文字母,并将其替换成空字符即可,语法“preg_replace("/[^\x{4E00}-\x{9FFF}]+/u",'', $str)”。

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

    在php中,可以使用preg_replace()函数配合正则表达式来去掉字符串中的非中文字母。

    正则表达式为:/[^\x{4E00}-\x{9FFF}]+/u

    preg_replace()删除原理:利用正则表达式搜索字符串中的非中文字母,并将其替换成空字符''

    实现示例:

    <?php
    header('content-type:text/html;charset=utf-8');   
    $str= 'php中文网!-=1548';
    $pattern = "/[^\x{4E00}-\x{9FFF}]+/u";
    echo preg_replace($pattern,'', $str);
    ?>

    1.png

    说明: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 代表完整的模式匹配文本。

    捕获子组的序号计数方式为:代表捕获子组的左括号从左到右,从 1 开始数。如果要在 $replacement 中使用反斜线,必须使用 4 个("\\\\" 因为这首先是 php 的字符串,经过转义后是两个,再经过正则表达式引擎后才被认为是一个原文反斜线)。

    当在替换模式下工作并且后向引用后面紧跟着需要是另外一个数字(比如:在一个匹配模式后紧接着增加一个原文数字),不能使用 \\1 这样的语法来描述后向引用。比如,\\11 将会使 preg_replace() 不能理解你希望的是一个 \\1 后向引用紧跟一个原文 1,还是一个 \\11 后向引用后面不跟任何东西。这种情况下解决方案是使用 ${1}1。这创建了一个独立的 $1 后向引用,一个独立的原文 1。

    当使用被弃用的 e 修饰符时,这个函数会转义一些字符(即:'、"、\ 和 NULL)然后进行后向引用替换。当这些完成后请确保后向引用解析完后没有单引号或双引号引起的语法错误(比如:'strlen(\'$1\')+strlen("$2")')。确保符合 PHP 的字符串语法,并且符合 eval 语法。因为在完成替换后,引擎会将结果字符串作为 php 代码使用 eval 方式进行评估并将返回值作为最终参与替换的字符串。

    推荐学习:《PHP视频教程

    以上就是php怎么将非中文字母去掉的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php die函数不传参会怎么样 下一篇:php怎么替换nbsp空格符
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 通过PHP正则表达式去除az AZ 0-9或空之外的所有字符• PHP字符串学习系列大汇总(持续更新~)• php字符串怎么将小写转为大写• PHP正则表达式之怎样分割字符串与转义字符串?• 带你快速掌握PHP字符串的替换(实例详解)• php字符串怎么去掉第二个字符
    1/1

    PHP中文网