1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP中常用正则表达式函数详解

PHP中常用正则表达式函数详解

时间:2021-01-21 20:30:33

相关推荐

PHP中常用正则表达式函数详解

后端开发|php教程

php,表达式,正则

后端开发-php教程

酒店预订小程序源码,vscode查看本地git,qt安装ubuntu,tomcat7 源码,sqlite存放图片,网页设计表格标签,数据库连接池视频教程,学校用什么服务器,ama插件,前端扫码框架结构,爬虫人统治中国,php rand,react seo,springboot用于,图片上要加alt标签,开源代码下载网站,网页ftp插件,愿望清单模板,织梦网站后台,dedecms会员登录页面,学籍管理系统源码,易语言禁止某程序运行lzw

本文主要和大家分享PHP中常用正则表达式函数详解,希望能帮助到大家。

客服机器人 源码 php,vscode终端怎么设置,ubuntu装samba,启动tomcat的功能,sqlite数据库 客户端,爬虫爬取百度新闻并保存到数据库,php 日期时间函数,seo优化正确运行流程,最安全的网站语言,pageadmin模板制作lzw

声明:$pattern=正则表达式,$subject=目标数据

手机网站快捷拨号源码,安装ubuntu忘记密码,爬虫子表情,php adds,SEO的来源lzw

1.preg_match()与preg_match_all()

preg_match($pattern,$subject,[array &$matches])preg_match_all($pattern,$subject,array &$matches)

preg_match只会匹配一次,preg_match_all会把所有符合的字符串都匹配出来,并且放置到matches数组中,而且这两个函数都有一个整形的返回值。

return 匹配到结果的次数;

通过函数返回值我们也可以知道matches中的键值对的个数。

下面我们来举个栗子来体验一下:

<?php //preg_match ,preg_match_all $pattern = /[0-9]/; $subject = weuyr3ui76as83s0ck9; $m1 = $m2 = array(); preg_match($pattern,$subject,$m1); preg_match_all($pattern,$subject,$m2); show($m1); echo \; show($m2); function show($var = null){if(empty($var)){echo ull;}else if(is_array($var)||is_object($var)){//array,objectecho

;print_r($var);echo

;

}

else{

//string ,int ,float...

echo $var;

}

}

?>

上述代码就是在字符串weuyr3ui76as83s0ck9中找到数字。

2.preg_replace()与preg_filter()

preg_replace($pattern,$replacemenrt,$subject)preg_filter($pattern,$replacement,$subject)

下面我们来举个栗子:

<?php //preg_filter() preg_replace() $pattern = /[0-9]/; $subject =weuyr3ui76as83s0ck9; $replacement = 球宝宝; $str1 = preg_replace($pattern,$replacement,$subject); $str2 = preg_filter($pattern,$replacement,$subject); show($str1); echo \; show($str2); function show($var = null){if(empty($var)){echo ull;}else if(is_array($var)||is_object($var)){//array,objectecho

;print_r($var);echo

;

}

else{

//string ,int ,float...

echo $var;

}

}

?>

在preg_replacement()中,不仅可以用字符串,也可以用数组。

只需要:$pattern = array(/[0-3]/,[4-6],[7-9]);

$replacement = array(球,宝,宝);

这个意思就是当匹配到0-3中的某一个数字时,就用“球”来替代;匹配到4-6中的某一个数字时,就用“宝”来替代;匹配到7-9中的某一个数字时,用“宝”来替代。

比如:

<?php //preg_filter() preg_replace() //$pattern = /[0-9]/ $pattern = array(/[0-3]/,/[4-6]/,/[7-9]/); $subject =weuyr3ui76as83s0ck9; //$replacement = 球宝宝; $replacement = array(球,宝,宝); $str1 = preg_replace($pattern,$replacement,$subject); $str2 = preg_filter($pattern,$replacement,$subject); show($str1); echo \; show($str2); function show($var = null){if(empty($var)){echo ull;}else if(is_array($var)||is_object($var)){//array,objectecho

;print_r($var);echo

;

}

else{

//string ,int ,float...

echo $var;

}

}

?>

既然上面两个例子中,preg_filter()和preg_replacement()的结果都一样,那么他们到底有什么区别呢?

当我们把$subject = array(weuy, 3ui,76as83,s,ck9);加上之后,就会显示出他俩的差别:

<?php //preg_filter() preg_replace() //$pattern = /[0-9]/ $pattern = array(/[0-3]/,/[4-6]/,/[7-9]/); //$subject =weuyr3ui76as83s0ck9; $subject = array(weuy, 3ui,76as83,s,ck9); //$replacement = 球宝宝; $replacement = array(球,宝,宝); $str1 = preg_replace($pattern,$replacement,$subject); $str2 = preg_filter($pattern,$replacement,$subject); show($str1); echo \; show($str2); function show($var = null){if(empty($var)){echo ull;}else if(is_array($var)||is_object($var)){//array,objectecho

;print_r($var);echo

;

}

else{

//string ,int ,float...

echo $var;

}

}

?>

从上边可以看出来:

preg_replacement()函数,无论有没有替换的字都会显示出来,但是preg_filter()函数如果没有出现替换的字是不会显示出来的。

PHP正则表达式分享

常用的正则表达式实例整理_正则表达式

PHP正则表达式的总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。