preg_replace_callback
執行一個正則表達式搜索並且使用一個回調進行替換
preg_replace_callback()
函數給定一個表達式和一個回調函數,返回一個字符串,其中表達式的所有匹配項都被回調函數返回的子字符串替換。
計算句子中所有單詞的字母數:
<?php function countLetters ( $matches ) { return $matches [ 0 ] . '(' . strlen ( $matches [ 0 ] ) . ')' ; } $input = "Welcome to W3School.com.cn!" ; $pattern = '/[a-z0-9\.]+/i' ; $result = preg_replace_callback ( $pattern , 'countLetters' , $input ) ; echo $result ; ?>
親自試一試
preg_replace_callback ( pattern , replacements , input , limit , count )
參數 | 描述 |
---|---|
pattern | 必需。指示要搜索的內容的正則表達式或正則表達式數組。 |
replacements |
必需的。一個返回替換項的回調函數。 回調函數有一個參數,該參數包含一個匹配項的數組。 數組的第一個元素包含整個表達式的匹配項,而其餘元素則包含表達式中每個組的匹配項。 |
input | 必需。在其上進行替換的字符串或字符串數組。 |
limit |
可選。默認為-1,表示無限制。 設置在每個字符串中可以進行的替換次數的限制。 |
count | 可選。函數執行後,此變量將包含一個數字,指示進行了多少次替換。 |