您好,登錄后才能下訂單哦!
preg_replace_callback?- 執行一個正則表達式搜索并且使用一個回調進行替換
preg_replace_callback?(?mixed?$pattern?,?callable?$callback?,?mixed?$subject?[,?int?$limit?=?-1?[,?int?&$count?]]?)
這個函數的行為除了 可以指定一個 callback 替代 replacement 進行替換 字符串的計算,其他方面等同于preg_replace()?。
參數 | 必需的 | 描述 |
---|---|---|
pattern | 是 | 要搜索的模式,可以是字符串或一個字符串數組。 |
callback | 是 | 一個回調函數,在每次需要替換時調用,調用時函數得到的參數是從subject 中匹配到的結果。回調函數返回真正參與替換的字符串。這是該回調函數的簽名:handler ( array $matches ) 。你可能經常會需要callback函數而 僅用于preg_replace_callback()一個地方的調用。在這種情況下,你可以 使用匿名函數來定義一個匿名函數作 為preg_replace_callback()調用時的回調。 這樣做你可以保留所有 調用信息在同一個位置并且不會因為一個不在任何其他地方使用的回調函數名稱而污染函數名稱空間。 |
subject | 是 | 要搜索替換的目標字符串或字符串數組。 |
limit | 否 | 每個主題字符串中每個模式的最大可能替換數。 默認為-1(無限制)。 |
count | 否 | 如果指定,此變量將填充完成的替換次數。 |
如果subject是一個數組,?preg_replace_callback()返回一個數組,其他情況返回字符串。 錯誤發生時返回 NULL。 如果查找到了匹配,返回替換后的目標字符串(或字符串數組), 其他情況subject 將會無變化返回。
//?將文本中的年份增加一年. $text?=?"April?fools?day?is?04/01/2002\n"; $text.=?"Last?christmas?was?12/24/2001\n"; //?回調函數 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()?- 執行一個正則表達式搜索并且使用一個回調進行替換
preg_quote()?- 轉義正則表達式字符
preg_replace()?- 執行一個正則表達式的搜索和替換
preg_last_error()?- 返回最后一個PCRE正則執行產生的錯誤代碼
preg_replace_callback_array()?- 執行正則表達式搜索并使用回調替換
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。