php中文正则匹配?PHP中如何过滤掉非汉字字符

2025-09-24 20:30:01 0

php中文正则匹配?PHP中如何过滤掉非汉字字符

这篇文章给大家聊聊关于php正则,以及php中文正则匹配对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

php中文正则匹配

php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/^+$/u,

GBK: preg_match("/^+$/",$str); //GB2312汉字字母数字下划线正则表达式。
器查询或者 js匹配中文

匹配中文字符的正则表达式:

或许你也需要匹配双字节字符,中文也是双字节的字符

匹配双字节字符(包括汉字在内):

PHP中如何过滤掉非汉字字符

首先需要先把带有中文的字符串进行编码转化,由GB2312编码转化为UTF-8编码。
这样是为了PHP正则表达式可以正确的去匹配
然后通过preg_match_all()函数以及相应的中文匹配正则表达式,把所有的中文匹配出来
最后,把匹配到的中文字符串再转为B2312编码,这样做是为了可以在网页编码为GB2312上正确显示。
例如:
《?php
$str = "ddddvvv(,中文.)dfdsfds字符啊.";
//把GB2312编码转化为 UTF-8编码
$str = mb_convert_encoding($str, ’UTF-8’, ’GB2312’);
//正则匹配
preg_match_all(’/+/u’, $str, $matches);
//把匹配到的数组连接为字符串
$str = implode(’’, $matches);
//把UTF-8编码转化为 GB2312编码
$str = mb_convert_encoding($str, ’GB2312’, ’UTF-8’);
echo $str;
//输出 中文字符啊
?》

php 过滤手机号及类似手机号

帮你找了以下:

$phonenumber = ’13712345678’;  
if(preg_match("/^1{1}\d{9}$/",$phonenumber)){  
    echo "是手机号码";  
}else{  
    echo "不是手机号码";

这段代码可以检车你要查询的变量是不是一个手机号码。

/^1{1}\d{9}$/这个正则表达式,表示必须1开头,第二位数是3|4|5||7|8,如果那天出了16*开头的号码,你可以在后面再加一个6就可以了。

手机号和身份证号的正则表达式怎么写

身份证号(18位,最后一位为数字或字母x(大小写都允许),没有对出生日期的年月日做限制):
/^\d{17}$/
手机号(11位,第一位为1,第二位可能为3、5、7、8、9):
/^1\d{9}$/
如果不限制手机号第二位数字的话就是:/1\d{10}/

手机号码正则表达式验证

正则表达式(regular expression)是一个描述字符模式的对象。使用JavaScript正则表达式可以进行强大的模式匹配和文本检索与替换功能。  手机号码正则表达式验证。

-----------------------------------------------------------------------------------------------------------------------

function checkPhone(){
    var phone = document.getElementById(’phone’).value;

    if(!(/^1d{9}$/.test(phone))){

        alert("手机号码有误,请重填"); 

        return false;

    }

}

-----------------------------------------------------------------------------------------------------------------------

或者

-----------------------------------------------------------------------------------------------------------------------
function checkPhone(){
    var phone = document.getElementById(’phone’).value;

    if(!(/^1(3|4|5|6|7|8|9)d{9}$/.test(phone))){

        alert("手机号码有误,请重填"); 

        return false;

    }

}

-----------------------------------------------------------------------------------------------------------------------

php判断微信昵称是否有特殊字符

您好,可以使用php的正则表达式来查找特殊字符,php提供了一个preg_match()方法,可以使用该方法来进行匹配,具体使用事项可以百度查找一下。

php 正则表达式 url匹配

1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。

2,preg_match(mode,string);它的返回值是一个整数,0或1,0表示匹配不成功,1表示匹配成功,preg_match()将在第一个匹配成功后停止搜索,不再继续匹配。

3,preg_match_all(模式,字符串,保存匹配结果数组(multidimensional array));在搜索字符串中,所有匹配的模式都提供正则表达式的匹配结果,并以指定的顺序将它们输出到指定的数组。它执行与字符串末尾匹配的全局正则表达式匹配。

4,preg_quote(string);转义正则表达式字符,preg_quote()需要一个参数字符串,并在每个正则表达式语法中为该字符添加反斜杠。

5,转换效果如图所示。

php 正则 去掉所有标调符号,数字 和字母,只留空格分隔的中文

《?php
$str = "*/123abcd只留sa";
preg_match_all(’/+/u’, $str, $matches);
$str = join(’’, $matches);
echo $str;
?》

输出“只留”

完善一下,以上适用于UTF8编码,如果是GBK的则需要转码,如下。

《?php
$str = "*/123abcd只留sa";
$str = mb_convert_encoding($str, ’UTF-8’, ’GB2312’);
preg_match_all(’/+/u’, $str, $matches);
$str = join(’’, $matches);
echo $str;
?》

PHP正则表达式的使用技巧

  PHP正则表达式的定义

  用于描述字符排列和匹配模式的一种语法规则 它主要用于字符串的模式分割 匹配 查找及替换操作

  PHP中的正则函数

  PHP中有两套正则函数 两者功能差不多 分别为

  一套是由PCRE(Perl Compatible Regular Expression)库提供的 使用 preg_ 为前缀命名的函数

  一套由POSIX(Portable Operating System Interface of Unix )扩展提供的 使用以 ereg_ 为前缀命名的函数 (POSIX的正则函数库 自PHP 以后 就不在推荐使用 从PHP 以后 就将被移除)

  由于POSIX正则即将推出历史舞台 并且PCRE和perl的形式差不多 更利于我们在perl和php之间切换 所以这里重点介绍PCRE正则的使用

  PCRE正则表达式

  PCRE全称为Perl Compatible Regular Expression 意思是Perl兼容正则表达式

  在PCRE中 通常将模式表达式(即正则表达式)包含在两个反斜线 / 之间 如 /apple/

  正则中重要的几个概念有 元字符 转义 模式单元(重复) 反义 引用和断言 这些概念都可以在文章中轻松的理解和掌握

  常用的元字符(Meta character)

  元字符     说明

  /A       匹配字符串串首的原子

  /Z       匹配字符串串尾的原子

  /b       匹配单词的边界     //bis/   匹配头为is的字符串   /is/b/   匹配尾为is的字符串   //bis/b/ 定界

  /B       匹配除单词边界之外的任意字符   //Bis/   匹配单词 This 中的 is

  /d     匹配一个数字 等价于

  /D     匹配除数字以外任何一个字符 等价于

  /w     匹配一个英文字母 数字或下划线 等价于

  /W     匹配除英文字母 数字和下划线以外任何一个字符 等价于

  /s     匹配一个空白字符 等价于

  /S     匹配除空白字符以外任何一个字符 等价于

  /f     匹配一个换页符等价于 /x c 或 /cL

  匹配一个换行符 等价于 /x a 或 /cJ

  匹配一个回车符等价于/x d 或 /cM

  /t     匹配一个制表符 等价于 /x /或/cl

  /v     匹配一个垂直制表符 等价于/x b或/ck

  /oNN   匹配一个八进制数字

  /xNN   匹配一个十六进制数字

  /cC    匹配一个控制字符

  模式修正符(Pattern Modifiers)

  模式修正符在忽略大小写 匹配多行中使用特别多 掌握了这一个修正符 往往能解决我们遇到的很多问题

  i     -可同时匹配大小写字母

  M     -将字符串视为多行

  S     -将字符串视为单行 换行符做普通字符看待 使 匹配任何字符

  X     -模式中的空白忽略不计  

  U     -匹配到最近的字符串

  e     -将替换的字符串作为表达使用

  格式 /apple/i匹配 apple 或 Apple 等 忽略大小写      /i

  PCRE的模式单元

  // 提取第一位的属性

  /^/d{ } ( 的结果 / 已经被存储 下个位置 / 引用时 其匹配模式也是字符 /

  当不需要存储匹配结果时使用非存储模式单元 (? )

  例如/(?:a|b|c)(D|E|F)// g/ 将匹配 aEEg 在一些正则表达式中 使用非存储模式单元是必要的 否则 需要改变其后引用的顺序 上例还可以写成/(a|b|c)(C|E|F)/ g/

  PCRE正则表达式函数

  以下为引用的内容

  preg_match()和preg_match_all()   preg_quote()   preg_split()   preg_grep()   preg_replace()  

  函数的具体使用 我们可以通过PHP手册来找到 下面分享一些平时积累的正则表达式

  匹配action属性

  以下为引用的内容

  $str = ;       $match = ;       preg_match_all( //s+action=/ (?!)( *?)/ /s/ $str $match);       print_r($match);   

  在正则中使用回调函数

  以下为引用的内容

  /**      * replace some string by callback function      *      */    function callback_replace() {         $url = ;         $str = ;         $str = preg_replace ( /(?《=/saction=/ )(?!)( *?)(?=/ /s)/e search(/$url // ) $str );                  echo $str;     }          function search($url $match){         return $url / $match;     }   

  带断言的正则匹配

  以下为引用的内容

  $match = ;      $str = xxxxxx cn bold font  paragraph text

   ;      preg_match_all ( /(?《=《(/w{ })》) *(?=《/// 》)/ $str $match );      echo 匹配没有属性的HTML标签中的内容 ;      print_r ( $match );   

  替换HTML源码中的地址

  以下为引用的内容

  $form_ = preg_replace ( /(?《=/saction=/ |/ssrc=/ |/s)(?!|javascript)( *?)(?=/ /s)/e add_url(/$url / // / ) $form_ );   

lishixinzhi/Article/program/PHP/201311/21027

php正则如何替换所有符合条件的字符串


在php中可以使用“preg_replace”函数替换所有符号匹配条件的元素,其语法是【
preg_replace (正则表达式, 替换成, 字符串, 最大替换次数【默认-1,无数次】, 替换次数)】。
推荐:《PHP视频教程》
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的。
比如模版引擎解析模版、垃圾敏感信息过滤等等。
一般这种情况,我们用正则按我们的规则去匹配preg_match、替换preg_replace。
但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少。
根据前面说的,两种场景:统计分析,用匹配;处理用替换。
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素。
代码如下:
preg_replace (正则表达式, 替换成, 字符串, 最大替换次数【默认-1,无数次】, 替换次数)
大部分语言的正则表达式都是差不多的,不过也有细微的差异。
PHP 正则表达式定界符
大多数语言的正则表达式都是由“/”作为定界符的,而在PHP中,还可以使用“#”定界,如果字符串中包含大量“/”字符,在使用“/”定界的时候,就需要对这些“/”转义,而使用“#”就不需要转义,更简洁。
《?php
***隐藏网址***
***隐藏网址***
// . : - 都是正则符号,所以需要转义,而 / 是定界符,如果字符串中包含 / 定界符,就需要转义
***隐藏网址***
// 在 #作为定界符,/ 就不再是定界符的含义,就不需要转义了。
***隐藏网址***
***隐藏网址***
?》PHP 正则中文和忽略大小写PHP preg_replace() 是区分大小写的,同时只能匹配ASCII编码内的字符串,如果需要匹配不区分大小写和中文等字符需要添加相应的修饰符 i 或 u。
《?php
***隐藏网址***
echo preg_replace(’/W3CSchool/’,’w3c’,$weigeti);
***隐藏网址***
echo preg_replace(’/W3CSchool/i’,’w3c’,$weigeti);
***隐藏网址***
echo preg_replace(’/网址/u’,’’,$weigeti);
***隐藏网址***
?》PHP 正则表达式在遇到换行符时,会将换行符当做字符串中间一个普通字符。而通用符号.不能匹配
,所以遇到带有换行符的字符串正则会有很多要点。
《?php
$weigeti="jb51.net
IS
LOVING
YOU";

// 想要把上面$weigeti 替换成jb51.net

echo preg_replace(’/^$/’,’’,$weigeti);
// 这个正则表达式是,匹配只包含w的元素,$weigeti 是以V开头,符合。.无法匹配
// 输出【jb51.net IS LOVEING YOU】

echo preg_replace(’/^$/s’,’’,$weigeti);
// 这个用修饰符s,也就是 . 可以匹配
了,所以整句匹配,输出空
// 输出【】

echo preg_replace(’/^$/m’,’’,$weigeti);
// 这里使用了修饰符,将
作为多行独立匹配。也就等价于:
/*
$preg_m=preg_replace(’/^$/m’,’’,$weigeti);
$p=’/^$/’;
$a=preg_replace($p,’’,’jb51.net’);
$b=preg_replace($p,’’,’IS’);
$c=preg_replace($p,’’,’LOVING’);
$d=preg_replace($p,’’,’YOU’);
$preg_m === $a.$b.$c.$d;
*/
// 输出【jb51.net】
?》正则替换匹配变量向后引用
如果您熟悉Javascript,一定对$1 $2 $3 ?? 等向后引用比较熟悉,而在 PHP 中这些也可以被当作向后引用参数。而在PHP中,还可以使用 1 1 来表示向后引用。
向后引用的概念就是匹配一个大片段,这个正则表达式内部又被用括号切割成若干小匹配元素,那么每个匹配元素就被按照小括号序列用向后引用代替。
《?php
***隐藏网址***

***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***

***隐藏网址***
/*
栏目:W3CSchool 在线教程
***隐藏网址***
商标:Jbzj!
*/

// 括号中括号,外面括号先计数
***隐藏网址***
/*
***隐藏网址***
栏目:W3CSchool 在线教程
***隐藏网址***
商标:Jbzj!
*/
?》

关于php正则和php中文正则匹配的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

php中文正则匹配?PHP中如何过滤掉非汉字字符

本文编辑:admin

更多文章:


织梦php版本(织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-V5.7-GBK-SP1版本)

织梦php版本(织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-V5.7-GBK-SP1版本)

今天给各位分享织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-V5.7-GBK-SP1版本的知识,其中也会对织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-

2025年6月21日 23:00

form在信封上是什么意思(在信封上面写From与To分别代表哪个英文是收件人,哪个英文是发件人急!先谢谢!)

form在信封上是什么意思(在信封上面写From与To分别代表哪个英文是收件人,哪个英文是发件人急!先谢谢!)

本篇文章给大家谈谈form在信封上是什么意思,以及在信封上面写From与To分别代表哪个英文是收件人,哪个英文是发件人急!先谢谢!对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了

2026年9月13日 19:30

readprocessmemory资源消耗(readprocessmemory问题)

readprocessmemory资源消耗(readprocessmemory问题)

各位老铁们,大家好,今天由我来为大家分享readprocessmemory资源消耗,以及readprocessmemory问题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈

2026年8月10日 21:00

essentials插件(minecraft 怎么安装Essentials插件)

essentials插件(minecraft 怎么安装Essentials插件)

大家好,关于essentials插件很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于minecraft 怎么安装Essentials插件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站

2026年3月27日 00:45

s11全球总决赛集锦(edg晋级s11决赛(夺取冠军之路))

s11全球总决赛集锦(edg晋级s11决赛(夺取冠军之路))

“s11全球总决赛集锦”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看s11全球总决赛集锦(edg晋级s11决赛(夺取冠军之路))!本文目录edg晋级s11决赛(夺取冠军之路)EDG晋级S11决赛创电竞新纪录,比赛时出现了哪

2026年8月17日 09:00

keyset(Set keys=Map.keyset()怎么理解)

keyset(Set keys=Map.keyset()怎么理解)

大家好,关于keyset很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Set keys=Map.keyset()怎么理解的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位

2025年10月20日 14:00

js注册成功跳转页面代码(如何使用JavaScript实现 按钮跳转页面功能)

js注册成功跳转页面代码(如何使用JavaScript实现 按钮跳转页面功能)

大家好,js注册成功跳转页面代码相信很多的网友都不是很明白,包括如何使用JavaScript实现 按钮跳转页面功能也是一样,不过没有关系,接下来就来为大家分享关于js注册成功跳转页面代码和如何使用JavaScript实现 按钮跳转页面功能的

2026年7月24日 02:45

securities(有关securities, stock, shares, bonds的概念~)

securities(有关securities, stock, shares, bonds的概念~)

“securities”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看securities(有关securities, stock, shares, bonds的概念~)!本文目录有关securities, stock, s

2025年7月8日 15:45

export trade(export trade是什么意思)

export trade(export trade是什么意思)

这篇文章给大家聊聊关于export trade,以及export trade是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录export trade是什么意思出口贸易的英语翻译 出口贸易用英语怎么说export tr

2026年5月26日 10:00

charter的英文(我的文档英文名是什么)

charter的英文(我的文档英文名是什么)

各位老铁们,大家好,今天由我来为大家分享charter的英文,以及我的文档英文名是什么的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录我的文档英文名

2025年9月17日 19:30

运算器 alu 的功能是(运算器的主要功能是)

运算器 alu 的功能是(运算器的主要功能是)

“运算器 alu 的功能是”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看运算器 alu 的功能是(运算器的主要功能是)!本文目录运算器的主要功能是运算器的主要功能是计算机中运算器的作用是计算机的组成部分 计算机的组成部分有

2025年9月19日 10:00

css鼠标悬停背景颜色变化(用css样式怎样实现鼠标放在背景图片上,背景图片的颜色改变)

css鼠标悬停背景颜色变化(用css样式怎样实现鼠标放在背景图片上,背景图片的颜色改变)

其实css鼠标悬停背景颜色变化的问题并不复杂,但是又很多的朋友都不太了解用css样式怎样实现鼠标放在背景图片上,背景图片的颜色改变,因此呢,今天小编就来为大家分享css鼠标悬停背景颜色变化的一些知识,希望可以帮助到大家,下面我们一起来看看这

2026年3月17日 16:30

stylesheet type(<head> <link rel=“stylesheet“ type=“text/css“ href=“mystyle.css“> </head> rel是什么意思啊 谢谢)

stylesheet type(<head> <link rel=“stylesheet“ type=“text/css“ href=“mystyle.css“> </head> rel是什么意思啊 谢谢)

今天给各位分享 rel是什么意思啊 谢谢的知识,其中也会对 rel是什么意思啊 谢谢进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录 rel是什么意思啊 谢谢请问,中rel=“stylesheet“

2026年8月12日 00:30

js下拉菜单栏怎么设置代码(求助制作下拉菜单的js的代码)

js下拉菜单栏怎么设置代码(求助制作下拉菜单的js的代码)

其实js下拉菜单栏怎么设置代码的问题并不复杂,但是又很多的朋友都不太了解求助制作下拉菜单的js的代码,因此呢,今天小编就来为大家分享js下拉菜单栏怎么设置代码的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录求助制

2026年7月7日 14:30

dephi估算法(关于Delphi中Case用法)

dephi估算法(关于Delphi中Case用法)

大家好,dephi估算法相信很多的网友都不是很明白,包括关于Delphi中Case用法也是一样,不过没有关系,接下来就来为大家分享关于dephi估算法和关于Delphi中Case用法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我

2025年12月15日 04:15

flt翻译中文(flt是什么文件)

flt翻译中文(flt是什么文件)

大家好,如果您还对flt翻译中文不太了解,没有关系,今天就由本站为大家分享flt翻译中文的知识,包括flt是什么文件的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录flt是什么文件求救,急!!英文翻译高手进!!!(

2026年2月9日 22:45

sql中connect的用法(C#中,用SqlConnection怎么连接数据库)

sql中connect的用法(C#中,用SqlConnection怎么连接数据库)

各位老铁们好,相信很多人对sql中connect的用法都不是特别的了解,因此呢,今天就来为大家分享下关于sql中connect的用法以及C#中,用SqlConnection怎么连接数据库的问题知识,还望可以帮助大家,解决大家的一些困惑,下面

2026年9月2日 22:45

festival怎么写(元宵节的英语怎么写)

festival怎么写(元宵节的英语怎么写)

这篇文章给大家聊聊关于festival怎么写,以及元宵节的英语怎么写对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录元宵节的英语怎么写“节日”的英文单词怎么写来着春节的英文怎么写元宵节的英语怎么写元宵节的英语:Lantern

2026年2月13日 20:30

常用的web应用有哪些(web应用包括什么)

常用的web应用有哪些(web应用包括什么)

大家好,关于常用的web应用有哪些很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于web应用包括什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录we

2025年6月14日 17:00

account短语用法(On no account can是什么意思)

account短语用法(On no account can是什么意思)

其实account短语用法的问题并不复杂,但是又很多的朋友都不太了解On no account can是什么意思,因此呢,今天小编就来为大家分享account短语用法的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目

2026年5月2日 17:30

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索