Hướng dẫn dùng php preg_match_all trong PHP

Hàm preg_match thi hành tìm theo biểu thức RegExp [xem cách viết biểu thức chính quy RegExp], cú pháp như sau:

preg_match[$pattern , $subject [,&$matches]]

Hàm này tìm trong $subject các chuỗi con phù hợp với mẫu $pattern là một biểu thức RegExp. Hàm tra về các kết quả:

  • 1 tìm thấy chuỗi phù hợp
  • 0 không có chuỗi phù hợp
  • false lỗi biểu thức RegEx

Cụ thể về các tham số của preg_match:

  • $pattern : là biểu thức RegExp để tìm kiếm. Viết biểu thức chính quy RegExp, trong PHP các hàm sử dụng RegExp thường các biểu thức này nằm trong cặp /../
  • $subject : Chuỗi nguồn để tìm kiếm
  • $matches : là mảng kết quả tìm kiếm được nếu có, trong đó $matches[0] là chuỗi đầy đủ tìm kiếm được. Các phần tử tiếp theo tương ứng với chuỗi phù hợp với các mẫu con trong $pattern

Để lấy tất cả các kết quả tìm thấy dùng preg_match_all

preg_match_all[$pattern , $subject [,&$matches]]

preg_match_all hàm này trả về giá trị là số lượng kết quả, và kết quả lưu tại $matches, nếu trả về false thì lỗi RegEx

Ví dụ hàm preg_match, preg_match_all

Trích xuất các địa chỉ email từ một văn bản

Cho một văn bản, kiểm tra xem trong văn bản đó có địa chỉ email hay không, nếu có thì lấy các địa chỉ email đó. Thực hiện ví dụ này dùng hàm preg_match [chỉ trích xuất được một địa chỉ email đầu tiên nó tìm thấy].

Chủ Đề