PHP preg_filter() 函式
示例
將數字括在字串列表中
<?php
$input = [
"It is 5 o'clock",
"40 days",
"No numbers here",
"In the year 2000"
];
$result = preg_filter('/[0-9]+/', '($0)', $input);
print_r($result);
?>
自己動手試一試 »
定義和用法
preg_filter()
函式返回一個字串或字串陣列,其中匹配到的模式已被替換為替換字串。
如果輸入是陣列,則此函式返回一個數組。如果輸入是字串,則此函式返回一個字串。
此函式與 preg_replace()
類似,但有一個區別:當輸入的字串中未找到模式匹配時,該字串將不會包含在返回值中。在這種情況下,如果輸入是字串而非陣列,則函式返回 null。
替換字串可以包含反向引用,形式為 \n 或 $n,其中 n 是模式中某個組的索引。在返回的字串中,\n 和 $n 的例項將被匹配該組的子字串替換,或者,如果使用 \0 或 $0,則會被整個表示式替換。
語法
preg_filter(pattern, replacement, input, limit, count)
引數值
引數 | 描述 |
---|---|
pattern | 必需。包含一個正則表示式,指示要搜尋的內容 |
replacement | 必需。一個將替換匹配模式的字串。它可能包含反向引用 |
input | 必需。一個執行替換操作的字串或字串陣列 |
limit | 可選。預設為 -1,表示不限制。設定在每個字串中可以執行的替換次數 |
count | 可選。函式執行後,此變數將包含一個數字,指示執行了多少次替換 |
技術詳情
返回值 | 如果輸入是陣列,則返回已替換字串的陣列;如果輸入是字串,則返回進行替換後的字串;如果輸入是字串且未找到匹配項,則返回 null。 |
---|---|
PHP 版本 | 5.3.0 |
❮ PHP 正則表示式參考