2018-06-18農(nóng)歷5月初5端午節(jié)。首先361模板祝廣大草根站長端午節(jié)快樂。
今天本不打算發(fā)相關(guān)文章休息休息的,但是一大早就醒來了,沒什么事情做,就給大家介紹一下PHP正則替換preg_replace函數(shù)的使用方法吧。
<?php$str="as2223adfsf0s4df0sdfsdf";echo preg_replace("/0/","",$str); //去掉0字符,此時(shí)相當(dāng)于 replace的功能, preg_replace("/0/","A",$str); 這樣就是將0變成A的意思了echo preg_replace("/[0-9]/","",$str); //去掉所有數(shù)字echo preg_replace("/[a-z]/","",$str); //這樣是去掉所有小寫字母echo preg_replace("/[A-Z]/","",$str); //這樣是去掉所有大寫字母echo preg_replace("/[a-z,A-Z]/","",$str); //這樣是去掉所有字母$str="as2223adfsAAf0s4df0s中國人dD中南海DDfsdf";echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和數(shù)字?>經(jīng)過以上的例子,相信大家知道,[ ] 和里面的 , 有什么作用了。也可以看到,匹配的字符串必須加 / /。
<?php$str="acsdcs<55555555>sc<6666>sdcd";echo preg_replace("/<.*>/","",$str);//這個(gè)是表示去除以<開頭,以>結(jié)尾的那部份,輸出結(jié)果是:acsdcssdcd?>注意:
現(xiàn)在我們來改動(dòng)一下,如果不想是任何個(gè)數(shù)呢?
<?php$str="acsdcs<55555555>sc<6666>sdcd";echo preg_replace("/<.{4}>/","",$str);//此時(shí)輸出:acsdcs<55555555>scsdcd因?yàn)閧4}指定了條件:<>內(nèi)為4個(gè)字符的才滿足條件,所以<55555555>不符合條件,沒有被替換。?>注意:這時(shí)我們又學(xué)到了一個(gè)知識點(diǎn){數(shù)字} 表示指定前面的個(gè)數(shù),*就表示是任意個(gè)(0--無限個(gè))
表示重復(fù)次數(shù)的除了 * , {指定次數(shù)} 表示,還有很多表達(dá)形式:
<?php$str="acsdcs<55555555>sc<6666>sd<>cd";echo preg_replace("/<[0-9]*>/","",$str);//輸出acsdcscdecho "<hr>";echo preg_replace("/<[0-9]+>/","",$str);//輸入acsdcsscsd<>cd?>上面的例子只要是為了 表達(dá) * 與+的區(qū)別 , * 表示重復(fù)0數(shù)或n次,而+表示1次以上,即一例中 <[0-9]+ > 表示 <> 里面至少要有一個(gè)數(shù)字才符合條件。
相信這時(shí)大家知道,為什么上例中用 * 和用 + 輸出的結(jié)果不同了吧
再來:
<?php$str="acsdcs<55555555>sc<6666>sd<>cd";echo preg_replace("/<[0-9]?>/","",$str);//輸出acsdcs<55555555>sc<6666>sdcd?>看 [0-9]? 這里的 ? 表示要是0次或1 次,超過1次又不符合條件了。
總結(jié)一下
上面我們學(xué)會(huì)了 * + ? 和大括號 {} 表示重復(fù)次數(shù)的方法。
<?php$s=preg_replace("/(.*?[月票|求|更].*?)/i","",$s);preg_match_all('/href="([0-9]+).shtm">(.+?)</a>/i',$s,$arr_dstorycate);print_r($arr_dstorycate);preg_match_all("/<img.*?src=[/'| /"](.*?(?:[.gif|.jpg]))[/'|/"].*?[/]?>/i",$content,$arr_dstorycate); print_r($arr_dstorycate);?>.$pattern是數(shù)組,$replace也是數(shù)組,則中對應(yīng)的元素進(jìn)行替換。
preg_replace有五個(gè)參數(shù),有三個(gè)是必須參數(shù):
Preg_replace(mixed $pattern, mixed $replacement, mixed $subject [,int $limit = -1 [,int $count ]]);
以上就是PHP應(yīng)用之PHP正則替換preg_replace函數(shù)的使用方法的全部內(nèi)容,希望對大家的學(xué)習(xí)和解決疑問有所幫助,也希望大家多多支持武林網(wǎng)。$pattern 可以是字符串,字符串?dāng)?shù)組,或者preg
$replace 是用于替換的字符串或字符串?dāng)?shù)組
$subject 目標(biāo)字符串或者目標(biāo)字符串?dāng)?shù)組
$limit 每個(gè)模式在每個(gè)$subject上最大的替換次數(shù),默認(rèn)是-1(無限次)
$count 返回在目標(biāo)字符串所替換的次數(shù)
新聞熱點(diǎn)
疑難解答