preg_replace_callback?- 執(zhí)行一個正則表達式搜索并且使用一個回調(diào)進行替換
創(chuàng)新互聯(lián)建站,為您提供成都網(wǎng)站建設、網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設計,對服務成都木制涼亭等多個行業(yè)擁有豐富的網(wǎng)站建設及推廣經(jīng)驗。創(chuàng)新互聯(lián)建站網(wǎng)站建設公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!
preg_replace_callback?(?mixed?$pattern?,?callable?$callback?,?mixed?$subject?[,?int?$limit?=?-1?[,?int?&$count?]]?)
這個函數(shù)的行為除了 可以指定一個 callback 替代 replacement 進行替換 字符串的計算,其他方面等同于preg_replace()?。
參數(shù) | 必需的 | 描述 |
---|---|---|
pattern | 是 | 要搜索的模式,可以是字符串或一個字符串數(shù)組。 |
callback | 是 | 一個回調(diào)函數(shù),在每次需要替換時調(diào)用,調(diào)用時函數(shù)得到的參數(shù)是從subject 中匹配到的結(jié)果?;卣{(diào)函數(shù)返回真正參與替換的字符串。這是該回調(diào)函數(shù)的簽名:handler ( array $matches ) 。你可能經(jīng)常會需要callback函數(shù)而 僅用于preg_replace_callback()一個地方的調(diào)用。在這種情況下,你可以 使用匿名函數(shù)來定義一個匿名函數(shù)作 為preg_replace_callback()調(diào)用時的回調(diào)。 這樣做你可以保留所有 調(diào)用信息在同一個位置并且不會因為一個不在任何其他地方使用的回調(diào)函數(shù)名稱而污染函數(shù)名稱空間。 |
subject | 是 | 要搜索替換的目標字符串或字符串數(shù)組。 |
limit | 否 | 每個主題字符串中每個模式的最大可能替換數(shù)。 默認為-1(無限制)。 |
count | 否 | 如果指定,此變量將填充完成的替換次數(shù)。 |
如果subject是一個數(shù)組,?preg_replace_callback()返回一個數(shù)組,其他情況返回字符串。 錯誤發(fā)生時返回 NULL。 如果查找到了匹配,返回替換后的目標字符串(或字符串數(shù)組), 其他情況subject 將會無變化返回。
//?將文本中的年份增加一年. $text?=?"April?fools?day?is?04/01/2002\n"; $text.=?"Last?christmas?was?12/24/2001\n"; //?回調(diào)函數(shù) function?next_year($matches) { //?通常:?$matches[0]是完成的匹配 //?$matches[1]是第一個捕獲子組的匹配 //?以此類推 return?$matches[1].($matches[2]+1); } echo?preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text);
preg_replace_callback()?- 執(zhí)行一個正則表達式搜索并且使用一個回調(diào)進行替換
preg_quote()?- 轉(zhuǎn)義正則表達式字符
preg_replace()?- 執(zhí)行一個正則表達式的搜索和替換
preg_last_error()?- 返回最后一個PCRE正則執(zhí)行產(chǎn)生的錯誤代碼
preg_replace_callback_array()?- 執(zhí)行正則表達式搜索并使用回調(diào)替換