PHP正則表達(dá)式核心技術(shù)完全詳解 第8節(jié) 正則過(guò)濾函數(shù)

極客小俊
?一個(gè)專(zhuān)注于web技術(shù)的80后
你不用拼過(guò)聰明人,你只需要拼過(guò)那些懶人 你就一定會(huì)超越大部分人!


PHP正則替換過(guò)濾函數(shù)
怎么說(shuō)呢 ?正則替換過(guò)濾函數(shù) 跟先前我們說(shuō)的替換函數(shù)很類(lèi)似 ,就只有一點(diǎn)點(diǎn)的小區(qū)分 不知道大家發(fā)現(xiàn)沒(méi)有!!
preg_filter()函數(shù): 執(zhí)行一個(gè)正則表達(dá)式搜索和替換 通常情況下preg_filter()函數(shù)等價(jià)于preg_replace()函數(shù) 案例1代碼如下:
?$arr=array('1.jpg','2.txt','3.doc','4.exe','5.php');
?$pattern='/\.jpg|\.txt/';
?$replacement='';
?$result1=preg_replace($pattern, $replacement, $arr);
?$result2=preg_filter($pattern, $replacement, $arr);
?show($result2);
preg_filter()和preg_replace()的實(shí)際區(qū)別 案例2代碼如下:
?$pattern=array(
? ? ?"/\d+/",
? ? ?"/ccc/"
?);
?$replacement=array(
? ? ?'1024',
? ? ?'PHP'
?);
?$string=array(
? ? ?'1234aaa',
? ? ?'abbbccc',
? ? ?'wampserver'
?);
?
?$result1=preg_replace($pattern, $replacement, $string);
?show($result1);
?
?$result2=preg_filter($pattern, $replacement, $string);
?show($result2);
區(qū)別如下: preg_filter()只會(huì)返回發(fā)生替換過(guò)濾后的數(shù)組元素,而沒(méi)有替換的數(shù)組元素沒(méi)有返回 preg_replace() 返回的不僅是發(fā)生替換過(guò)濾后的數(shù)組元素,并且沒(méi)有發(fā)生替換的元素也會(huì)保留下來(lái)并且返回!
如果喜歡話(huà)請(qǐng) 點(diǎn)贊 ?評(píng)論 ?收藏 一鍵三連 ?
大家的支持就是我堅(jiān)持下去的動(dòng)力!
