站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

php怎么将非中文字母去掉

时间:2022-04-26 [网络编程]作者:fabuyuan 浏览:6 次

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= '站长家园!-=1548';
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u";
echo preg_replace($pattern,'', $str);
?>

说明: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怎么将非中文字母去掉的详细内容,更多请关注站长家园其它相关文章!

本文标签:  正则表达式php字符串php

转载请注明来源:php怎么将非中文字母去掉

本文永久链接地址:https://www.adminjie.com/post/11646.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • jquery怎么判断某个标签是否存在

      jquery怎么判断某个标签是否存在

      判断方法:1、利用元素选择器选取指定标签元素,语法“$("标签名")”,会返回一个包含指定标签的jQuery对象;2、利用length属性判断jQuery对象是...

    • jquery有哪些取值方式

      jquery有哪些取值方式

      5种取值方式:1、用“元素对象.text()”获取指定元素的文本内容;2、用“元素对象.html()”获取元素中包含标签的内容;3、用“输入框元素.val()”...

    • jquery淡入是哪个方法

      jquery淡入是哪个方法

      淡入有3种方法:1、fadeIn(),可以淡入隐藏元素,语法“元素对象.fadeIn(淡入时长)”;2、fadeTo(),语法“元素对象.fadeTo(时长,1...

    • linux中当前目录怎么表示

      linux中当前目录怎么表示

      在linux中,当前目录使用小数点“.”来表示;linux系统的目录组成类似一个倒置的树型结构,该结构以根目录(“/”)开始向下延伸,还可用“..”表示上级目录...

    • jquery都有哪些前端框架

      jquery都有哪些前端框架

      jquery前端框架有:1、EasyUI,一种基于jQuery的用户界面插件集合;2、MiniUI,专业WebUI控件库,能缩短开发时间,减少代码量;3、jQu...

    热门文章