正则表达式 匹配、替换、分割函数的使用

<?php
	/*
	 * 正则表达式在PHP中的应用
	 * 
	 * 一、匹配功能
	 *	preg_match_all 全部匹配函数
	 * 
	 * 二、替换功能
	 * 	preg_replace 正则替换函数
	 * preg_replace(要替换内容的正则格式,'替换后的内容',原始内容,可选参数(替换多少次))    还是看下面的例子吧
	 *  
	 * 	类似str_replace,但功能要强于它。
	 * 	1、替换内容可以是一个正则也可以是数组正则
	 * 	2、替换内容可以通过修正符e来解决替换执行内容
	 * 
	 * 三、分割功能
	 * 	preg_split 正则切割
	 * preg_split(模块,切割的内容,可选参数(切割多少次))
	 * 	类似explode切割函数,但explode只能按照一种方式切割有局限性,而preg_split用途更广。
	 * 
	 * 
	 * 新的修正符:
	 * e 如果执行的内容里面有函数,则会将函数运行,不加这个修正符,则函数被当成普通字母输出
	 */
	
	
	$str="adk{id}df2{title}js4k{con}fj5dk5s";
	$mode="/{(.*)}/U";
	
	//匹配************************
	preg_match_all($mode,$str,$arr); 
	print_r($arr);//输出为Array ( [0] => Array ( [0] => {id} [1] => {title} [2] => {con} ) [1] => Array ( [0] => id [1] => title [2] => con ) ),也就是将整体内容及{}中的内容进行了分离输出
	
	echo "<br>";
		
	//替换************************
	echo preg_replace($mode,'中文',$str);  //输出为 adk中文df2中文js4k中文fj5dk5s
	
	echo "<br>";
		
	//用数组的方式进行替换
	$moden = array("/{id}/","/{title}/","/{con}/");
	$met = array("哈哈","嘿嘿","哼哼");	
	echo preg_replace($moden,$met,$str);
	
	echo "<br>";
	
	//函数也会执行
	$stn = "这是a这是b这是c";
	$modem = "/([a-z])/ie";
	echo preg_replace($modem,"md5(\\1)",$stn);
	
	echo "<br>";
	
	//可选参数使用
	$modem = "/([a-z])/ie";
	echo preg_replace($modem,"md5(\\1)",$stn,1); //上面会将abc,都进行md5编辑,这里我们设置为只执行一次,那么只会对a进行编码
	
	echo "<br>";
		
	//分割************************
	$stm = "aaa,bbb.cccc|eeee";
	$modv = "/[.,\|]/";
	$arr = preg_split($modv,$stm);
	print_r($arr);
	
?>

评论

大侠名号:   验证码: 点击我更换图片  

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND