Hàm preg_match_all () trong PHP
Thí dụ
Tìm tất cả các lần xuất hiện của "ain" trong một chuỗi:
<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern =
"/ain/i";
if(preg_match_all($pattern, $str, $matches)) {
print_r($matches);
}
?>
Định nghĩa và Cách sử dụng
Hàm preg_match_all()
trả về số lượng kết quả phù hợp của một mẫu được tìm thấy trong một chuỗi và điền vào một biến với các kết quả phù hợp đã được tìm thấy.
Cú pháp
preg_match_all(pattern, input, matches, flags, offset)
Giá trị tham số
Parameter | Description |
---|---|
pattern | Required. Contains a regular expression indicating what to search for |
input | Required. The string in which the search will be performed |
matches | Optional. The variable used in this parameter will be populated with an array containing all of the matches that were found |
flags | Optional. A set of options that change how the matches array is structured. One of the following structures may be selected:
|
offset | Optional. Defaults to 0. Indicates how far into the string to begin searching. The preg_match() function will not find matches that occur before the position given in this parameter |
Chi tiết kỹ thuật
Giá trị trả lại: | Trả về số kết quả phù hợp được tìm thấy hoặc sai nếu xảy ra lỗi |
---|---|
Phiên bản PHP: | 4+ |
Changelog: | PHP 7.2 - Đã thêm cờ PREG_UNMATCHED_AS_NULL PHP 5.4 - Tham số khớp trở thành tùy chọn PHP 5.3.6 - Hàm trả về false khi độ lệch dài hơn độ dài của đầu vào PHP 5.2.2 - Các tệp con được đặt tên có thể sử dụng (? 'Name' ) và (? <tên>) ngoài cú pháp trước (? p <tên>) |
Các ví dụ khác
Thí dụ
Sử dụng PREG_PATTERN_ORDER để đặt cấu trúc của mảng đối sánh . Trong ví dụ này, mỗi phần tử trong mảng đối sánh có tất cả các đối sánh cho một trong các nhóm của biểu thức chính quy.
<?php
$str = "abc ABC";
$pattern = "/((a)b)(c)/i";
if(preg_match_all($pattern,
$str, $matches, PREG_PATTERN_ORDER)) {
print_r($matches);
}
?>
❮ Tham khảo PHP RegExp