来源:自学PHP网 时间:2014-10-28 17:28 作者: 阅读:次
[导读] 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。...
更全面的实例,可以参考 php 正则表达式小结 PHP 正则表达式的几则使用技巧 复制代码 代码如下: <?php $pot="/\d{1,4}(.*)\d{1,2}\\1\d{1,2}/"; $cont="2010-12-08"; if(preg_match($pot,$cont,$arr)){ echo "匹配成功".$arr[0]; }else{ echo "匹配不成功"; } ?> 6,全局匹配函数 preg_match_all(string pattern,string subject,array matches[,int flags]) 主要功能:截取比较详细的内容,采集网页,分析文本 例子: 复制代码 代码如下: <?php $str="aaa<bbb>ccc<dddd>eee"; $mode="/<.*>/U"; if(preg_match_all($mode,$str,$arr)){ echo "匹配成功".print_r($arr); }else{ echo "匹配不成功"; } ?> 7,替换函数 preg_replace(mixed pattern,mixed replacement,mixed subject[,int limit]) 与str_replace字符串替换相比,功能更加强大 注意:1,替换内容可以是一个正则也可以是一个数组正则 2,替换内容可以通过修正符e来解决替换执行内容 用途:替换一些比较复杂的内容上,也可以用于内容的转换上 例子: 复制代码 代码如下: <?php $str="aaa<bbb>ccc<dddd>eee"; $mode="/<.*>/U"; echo preg_replace($mode,"替换内容",$str); ?> 例2:数组正则替换 复制代码 代码如下: <?php $str="aaa<bbb>ccc<dddd>eee"; $mode=array("/<bbb>/","/<dddd>/"); $m=array("/<yyy>/","/<mmmm>/"); echo preg_replace($mode,$m,$str); ?> 例3:md5正则替换 <?php $str="密码1:bbb\n密码2:BBB"; $mode="/(bbb)/ie"; //参数1为正则替换一次,如过2,这连后面的大写b也正则匹配了 //preg_replace($mode,"md5(\\1)",$str,1); echo preg_replace($mode,"md5(\\1)",$str); ?> 8,正则切割函数 preg_split(string pattern,string subject[,int limit[,int flags]]) 通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode只能按照一种方式切割有局限性 例子: 复制代码 代码如下: <?php $str="asd,sdsa,efsd,we。dce,sec"; $mode="/[,.。]/"; $arr=preg_split($mode,$str); for($i=0;$i<count($arr);$i++){ echo $arr[$i]."<br>"; } ?> |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com