Hàm preg_match_all() trong PHP
Ví 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);
}
?>
Hãy tự mình thử »Định nghĩa và cách sử dụng
Hàm preg_match_all()
trả về số lượng kết quả khớp của mẫu được tìm thấy trong một chuỗi và điền vào một biến có kết quả khớ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ả về: | Trả về số lượng kết quả khớp được tìm thấy hoặc sai nếu xảy ra lỗi |
---|---|
Phiên bản PHP: | 4+ |
Nhật ký thay đổi: | PHP 7.2 - Đã thêm cờ PREG_UNMATCHED_AS_NULL PHP 5.4 - Tham sốmatch trở thành tùy chọn PHP 5.3.6 - Hàm trả về false khi phần bù dài hơn độ dài của đầu vào PHP 5.2.2 - Các mẫu con được đặt tên có thể sử dụng cú pháp (?'name') và (? <name>) ngoài cú pháp (?P<name>) trước đó |
Thêm ví dụ
Ví dụ
Sử dụng PREG_PATTERN_ORDER để đặt cấu trúc của mảng khớp . Trong ví dụ này, mỗi phần tử trong mảngmatch có tất cả các kết quả khớp 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);
}
?>
Hãy tự mình thử »❮ Tham khảo RegExp PHP