您现在的位置是:群英 > 开发技术 > PHP语言
PHP中怎么用正则表达式的方法去掉非中文字符
Admin发表于 2022-05-11 16:47:191690 次浏览
这篇文章给大家分享的是“PHP中怎么用正则表达式的方法去掉非中文字符”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“PHP中怎么用正则表达式的方法去掉非中文字符”吧。

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()删除原理:利用正则表达式搜索字符串中的非中文字母,并将其替换成空字符''。

实现示例:

说明:preg_replace():

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

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

参数说明如下:

  • $pattern:要搜索的模式,可以使一个字符串或字符串数组;
  • $replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 $pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 $pattern 和 $replacement 都是数组,每个 $pattern 使用 $replacement 中对应的元素进行替换。如果 $replacement 中的元素比 $pattern 中的少,多出来的 $pattern 使用空字符串进行替换。
  • $subject:要进行搜索和替换的字符串或字符串数组,如果 $subject 是一个数组,搜索和替换回在 $subject 的每一个元素上进行, 并且返回值也会是一个数组。
  • $limit:可选参数,每个模式在每个 $subject 上进行替换的最大次数。默认是 -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中怎么用正则表达式的方法去掉非中文字符已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

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

标签: PHP去掉非中文
相关信息推荐
2022-09-19 17:56:45 
摘要:react受控组件和不受控组件的区别:1、受控组件依赖于状态,而非受控组件不受状态的控制;2、受控组件只有继承“React.Component”才会有状态,而非受控组件则不是只有继承才有状态;3、受控组件一般适用于需要动态设置初始值时,非受控组件一般用于无任何动态初始值信息时。
2022-02-24 18:01:54 
摘要:这篇文章我们来了解导入caffe到Python报错要如何解决,有一些朋友遇到这个问题不知道怎么办,对此这篇给大家介绍了解决方法,有需要的朋友可以参考,接下来就跟随小编来一起了解一下吧!
2022-11-11 17:47:05 
摘要:c语言指针用法:1、指针变量与普通变量一样默认值不确定,一般初始化为NULL;2、指针变量的用法与普通变量不同,一般以p结尾加以区分;3、指针变量的类型决定了通过指针变量访问内存时访问几个字节。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部