preg_filter
執行正則表達式搜索和替換
preg_filter()
函數返回一個字符串或字符串數組,其中模式的匹配項已被替換字符串替換。
如果輸入是數組,則該函數返回一個數組。如果輸入是字符串,則此函數返回一個字符串。
此函數與preg_replace()
類似,但有一個區別:當在輸入字符串中找不到與模式匹配的內容時,該字符串將不會用於返回值。在這種情況下,如果輸入是字符串而不是數組,則函數返回null。
替換字符串可以包含以\n
或n
形式的後向引用,其中n
是模式中組的索引。在返回的字符串中, \n
和n
的實例將被與該組匹配的子字符串替換,或者如果使用了\0
或$0
,則將被整個表達式替換。
在字符串列表中將數字用括號括起來:
<?php $input = [ "現在是5 點鐘" , "40 天" , "這裡沒有數字" , "在2000 年" ] ; $result = preg_filter ( '/[0-9]+/' , '($0)' , $input ) ; print_r ( $result ) ; ?>
親自試一試
preg_filter ( pattern , replacement , input , limit , count )
參數 | 描述 |
---|---|
pattern | 必需。包含指示要搜索的內容的正則表達式。 |
replacement | 必需。將替換匹配模式的字符串。它可能包含反向引用。 |
input | 必需。要在其中執行替換的字符串或字符串數組。 |
limit |
可選。設置在每個字符串中可以進行的替換次數的限制。 默認為-1,表示無限制。 |
count | 可選。函數執行後,此變量將包含一個數字,指示已執行的替換次數。 |