解讀PHP函數(shù)preg_replace()的數(shù)組替換代碼示例
PHP語(yǔ)言的功能非常強(qiáng)大,主要就是靠它強(qiáng)大的函數(shù)來(lái)作支撐。我們?cè)谶@篇文章中將會(huì)為大家詳細(xì)講解有關(guān)PHP函數(shù)preg_replace()的相關(guān)使用方法。
#t#PHP函數(shù)preg_replace()原型:mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit])
PHP函數(shù)preg_replace()較c的功能更加強(qiáng)大。其前三個(gè)參數(shù)均可以使用數(shù)組;第四個(gè)參數(shù)$limit可以設(shè)置替換的次數(shù),默認(rèn)為全部替換。代碼6.7是一個(gè)數(shù)組替換的應(yīng)用實(shí)例。
PHP函數(shù)preg_replace()代碼6.7 數(shù)組替換
- < ?php
- //字符串
- $string = "Name: {Name}< br>\nEmail:
{Email}< br>\nAddress: {Address}< br>\n";- //模式
- $patterns =array(
- "/{Address}/",
- "/{Name}/",
- "/{Email}/"
- );
- //替換字串
- $replacements = array (
- "No.5, Wilson St., New York, U.S.A",
- "Thomas Ching",
- "tom@emailaddress.com",
- );
- //輸出模式替換結(jié)果
- print preg_replace($patterns,
$replacements, $string);- ?>
輸出結(jié)果如下。
Name: Thomas Ching",
Email: tom@emailaddress.com
Address: No.5, Wilson St., New York, U.S.A
在preg_replace的正則表達(dá)式中可以使用模式修正符“e”。其作用是將匹配結(jié)果用作表達(dá)式,并且可以進(jìn)行重新運(yùn)算。例如:
- < ?php
- $html_body =
- “< HTML>
- < Body>
- < H1>TEST< /H1>
- My Picture<Img src=”my.gif”>
- < /Body>
- < /HTML>”;
- //輸出結(jié)果中HTML標(biāo)簽將全部為小寫(xiě)字母
- echo preg_replace (
- "/(< \/?)(\w+)([^>]*>)/e",
- "'\\1'.strtolower('\\2').'\\3'", //此處的模式變量
\\2將被strtolower轉(zhuǎn)換為小寫(xiě)字符- $html_body);
- ?>
以上就是PHP函數(shù)preg_replace()的具體使用方法介紹,希望對(duì)大家有所幫助。