Cách sử dụng hàm preg_match_all() trong PHP

Cach Su Dung Ham Preg Match All Trong Php



preg_match_all() là một hàm tích hợp trong PHP được sử dụng để khớp với mẫu cụ thể trong một chuỗi. Bạn có thể sử dụng chức năng này để thực hiện khớp biểu thức chính quy và trích xuất dữ liệu từ chuỗi. Nó có thể tiết kiệm thời gian và công sức trong trường hợp bạn cần tìm kiếm nhiều lần xuất hiện của một mẫu và được sử dụng rộng rãi trong các ứng dụng phân tích văn bản và trích xuất dữ liệu của PHP.

cú pháp

Sau đây là cú pháp để sử dụng preg_match_all trong PHP:







preg_match_all ( mẫu , đầu vào , diêm , cờ , bù lại )

Các preg_match_all chấp nhận các tham số sau, ba tham số bắt buộc và hai tham số tùy chọn:



  • mẫu : Nó là tham số bắt buộc; nó chứa biểu thức chính quy cần được tìm kiếm.
  • đầu vào : Thứ hai cũng là một tham số bắt buộc, vì nó là chuỗi mà tìm kiếm được thực hiện.
  • diêm : Nó lưu trữ đầu ra trong mảng chứa tất cả các kết quả khớp.
  • cờ : Nó mô tả cách cấu trúc mảng tìm kiếm hoặc so khớp. Nó sửa đổi hành vi tìm kiếm chức năng. Có thể sử dụng các cờ sau:
  • bù lại : Là tham số tùy chọn xác định vị trí bắt đầu tìm kiếm.
Lá cờ Sự miêu tả
PREG_PATTERN_ORDER Mảng kết quả có tất cả các kết quả khớp của một mảng cho từng phần tử của biểu thức chính quy.
PREG_SET_ORDER Mỗi phần tử của mảng so khớp chứa các kết quả khớp từ mọi nhóm cho một trong các kết quả khớp được tìm thấy của chuỗi.
PREG_OFFSET_CAPTURE Nó trả về các kết quả khớp với vị trí bù byte tương ứng của chúng trong chuỗi chủ đề.
PREG_UNMATCHED_AS_NULL Các mẫu chưa khớp sẽ báo cáo là NULL.

ví dụ 1

Xem xét ví dụ sau về việc sử dụng preg_match_all() chức năng trong PHP. Trong mã này, chúng tôi đang tìm kiếm từ Linux trong chuỗi. Hàm này xuất ra số lượng kết quả khớp với từ Linux :





$chuỗi = 'Xin chào những người đam mê Linux, Chào mừng đến với LinuxHint!' ;

mẫu $ = '/Linux/' ;

$matches = mảng ( ) ;

preg_match_all ( mẫu $ , $chuỗi , $matches ) ;

in_r ( $matches [ 0 ] ) ;

?>





ví dụ 2

Trong mã ví dụ này, chúng tôi đang tìm kiếm từ E trong chuỗi. Chữ i nhỏ được sử dụng để làm cho tìm kiếm không phân biệt chữ hoa chữ thường. Nó sẽ trả về tất cả các lần xuất hiện chuỗi của từ E hoặc e:



$chuỗi = 'CHÀO MỪNG ĐẾN MỸ.' ;

$patternRex = '/e/i' ;

$matchFound = preg_match_all ( $patternRex , $chuỗi , $matches ) ;

nếu như ( $matchFound ) {

tiếng vang '' ;

in_r ( $matches ) ;

}

?>



ví dụ 3

Nếu mẫu bạn đang tìm kiếm không có trong chuỗi, hàm sẽ trả về false, biểu thị lỗi. Để xử lý việc này, bạn có thể sử dụng câu lệnh if-else. Nếu không tìm thấy mẫu, bạn có thể in một thông báo bằng cách sử dụng câu lệnh khác để thông báo cho người dùng rằng không tìm thấy mẫu.



$chuỗi = 'PHP là một ngôn ngữ kịch bản phổ biến' ;

$patternRex = '/tiểu/' ;

$matchFound = preg_match_all ( $patternRex , $chuỗi , $matches ) ;

nếu như ( $matchFound ) {

tiếng vang '' ;

tiếng vang 'Trùng khớp.' ;

in_r ( $matches ) ;

} khác {

tiếng vang 'Không tìm thấy kết quả phù hợp.' ;

}

?>

Ghi chú : Các thẻ trong đoạn mã trên được sử dụng để định dạng đầu ra.

dòng dưới cùng

Biểu thức chính quy là một công cụ mạnh mẽ để tìm kiếm và thao tác văn bản trong PHP. Các preg_match_all() Hàm là một hàm PHP tích hợp được sử dụng để thực hiện khớp biểu thức chính quy với một chuỗi và truy xuất tất cả các lần xuất hiện của mẫu và nếu mẫu không tồn tại, nó sẽ trả về false. hiểu về preg_match_all() sẽ giúp người dùng xử lý và xử lý dữ liệu văn bản trong PHP tốt hơn.