PHP中的正则表达式函数preg_
preg_match();???? //用于正則表達(dá)式的匹配,且只匹配一次
preg_match_all();//用于正則表達(dá)式的匹配,會(huì)對(duì)所有符合規(guī)則的都進(jìn)行匹配
preg_replace();?? //正則表達(dá)式替換函數(shù)
preg_splite();???? //正則分割函數(shù)
preg_match ( mode, string subject , arraymatches )
其中mode是正則規(guī)則,string subject是要匹配的字符串,arraymatches是匹配的結(jié)果數(shù)組
例子:
?
<?php $mode='/[89]/';//匹配8或者9 $str="djfkdsjk10903990sjdfdk"; preg_match($mode,$str,$arr); print_r($arr); ?>
輸出:
?
?
Array ( [0] => 9 )
preg_match_all ( mode, string subject , arraymatches )
?
該函數(shù)和preg_match_all()函數(shù)的功能類似,不過該函數(shù)會(huì)匹配所有符合要求的內(nèi)容,并將之存放到字符串中。
例子:
?
<?php $mode='/[89]/';//匹配8或者9 $str="dj33f44k88dsjk10903990sjdfdk"; preg_match_all($mode,$str,$arr); print_r($arr); ?>?
輸出:
?
Array ( [0] => Array ( [0] => 8 [1] => 8 [2] => 9 [3] => 9 [4] => 9 ) )?
?
preg_replace ( mixed pattern, mixed replacement,mixed subject [, int limit] )
?
通過正則表達(dá)式來替換相關(guān)內(nèi)容,類似之前學(xué)過的str_replace字符串替換,但功能要強(qiáng)于它。
特點(diǎn):1、替換內(nèi)容可以是一個(gè)正則也可以是數(shù)組正則
???? ? ?? 2、替換內(nèi)容可以通過修正符e來解決替換執(zhí)行內(nèi)容
用途:替換一些比較復(fù)雜的內(nèi)容上,也可以用于內(nèi)容的轉(zhuǎn)換上
例子1——數(shù)組正則:
?
<?php $mode=array('/{title}/','/{author}/','/{url}/'); $re=array("code cloud","qianshou","http://codecloud.duapp.com/"); $str="標(biāo)題:{title}<br>作者:{author}<br>地址:{url}"; echo "<hr/>"; if($tag=preg_replace($mode,$re,$str)){echo $tag; }else{echo "替換不成功!"; } ?>輸出:
?
標(biāo)題:code cloud 作者:qianshou 地址:http://codecloud.duapp.com/
例子2——ubb代碼的替換:
?
?
<?php $str="歡迎來到我的博客:[url]http://blog.csdn.net/qsyzb[/url]"; $re=preg_replace('/\[url\](.*)\[\/url\]/',"<a href=\"\\1\" target=\"new\">\\1</a>",$str); echo "<hr>".$re."<hr>"; ?>
輸出:
?
?
?
<hr>歡迎來到我的博客:<a href="http://blog.csdn.net/qsyzb" target="new">http://blog.csdn.net/qsyzb</a><hr>?
?
preg_split ( string pattern, string subject [, intlimit [, int flags]] )
通過正則表達(dá)式來切割相關(guān)內(nèi)容,類似之前學(xué)過的explode切割函數(shù),但explode只能按照一種方式切割有局限性。
例子:
?
<?php $mode='/[,.#]/'; $str='one,two.three#four'; if($tag=preg_split($mode,$str)){print_r($tag); }else{echo "替換不成功!"; } ?>
輸出:
?
?
Array ([0] => one[1] => two[2] => three[3] => four )?
?
轉(zhuǎn)載于:https://www.cnblogs.com/suncoolcat/p/3292124.html
總結(jié)
以上是生活随笔為你收集整理的PHP中的正则表达式函数preg_的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比芒果广告还要专业的广告管理系统:Key
- 下一篇: 不要怂!就是干!