Hàm preg_filter() của PHP
Ví dụ
Gói các số trong ngoặc trong danh sách các chuỗi:
<?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);
?>
Hãy tự mình thử »Định nghĩa và cách sử dụng
Hàm preg_filter()
trả về một chuỗi hoặc mảng các chuỗi trong đó các kết quả khớp của mẫu đã được thay thế bằng chuỗi thay thế.
Nếu đầu vào là một mảng thì hàm này trả về một mảng. Nếu đầu vào là một chuỗi thì hàm này trả về một chuỗi.
Hàm này tương tự như preg_replace()
với một điểm khác biệt: Khi không tìm thấy kết quả khớp cho mẫu trong chuỗi đầu vào, chuỗi đó sẽ không được sử dụng trong giá trị trả về. Trong trường hợp này, nếu đầu vào là một chuỗi thay vì mảng thì hàm sẽ trả về null .
Các chuỗi thay thế có thể chứa các tham chiếu ngược ở dạng \n hoặc $n trong đó n là chỉ mục của một nhóm trong mẫu. Trong chuỗi được trả về, các phiên bản của \n và $n sẽ được thay thế bằng chuỗi con khớp với nhóm hoặc, nếu \0 hoặc $0 được sử dụng, bởi toàn bộ biểu thức.
Cú pháp
preg_filter( pattern, replacement, input, limit, count )
Giá trị tham số
Parameter | Description |
---|---|
pattern | Required. Contains a regular expression indicating what to search for |
replacement | Required. A string which will replace the matched patterns. It may contain backreferences |
input | Required. A string or array of strings in which the replacements are being performed |
limit | Optional. Defaults to -1, meaning unlimited. Sets a limit to how many replacements can be done in each string |
count | Optional. After the function has executed, this variable will contain a number indicating how many replacements were performed |
Chi tiết kỹ thuật
Giá trị trả về: | Trả về một mảng các chuỗi được thay thế nếu đầu vào là một mảng, một chuỗi có các thay thế được thực hiện nếu đầu vào là một chuỗi hoặc null nếu đầu vào là một chuỗi và không tìm thấy kết quả khớp nào |
---|---|
Phiên bản PHP: | 5.3.0 |
❮ Tham khảo RegExp PHP