Preg_match_all trong php
$subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '9'; print_r($matches); echo ''; Show $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '0'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '1'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '2'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '3 Hàm'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '0 được dùng để kiểm tra, so khớp và lấy kết quả của chuỗi công việc so sánh dựa trên biểu thức chính quy Biểu thức chính quy, hàm này có ba tham số và có cú pháp như sau'; print_r($matches); echo '';
in which
Kết quả Bài viết này đã được đăng tại [free tuts. mạng lưới]
Ví dụ. kiểm tra một chuỗi có phải là một dãy số hay không ________số 8 Nếu bạn thắc mắc tại sao biến $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5 không tồn tại và mình truyền vào nhưng chương trình chạy không bị lỗi, thì mình xin giải thích rằng đó là vì tham số thứ ba'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5 là một tham chiếu nên bạn có thể truyền được như vậy, và'; print_r($matches); echo ''; Bây giờ mình sẽ thực hiện một số ví dụ để các bạn hiểu rõ hơn về hàm này nhé 2. Các ví dụ hàm preg_match trong phpMình xin nhắc lại kết quả của hàm $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '0 sẽ trả về'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '33. Nếu bạn muốn lấy kết quả thì phải thông qua biến'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5'; print_r($matches); echo ''; Ví dụ 1. see try value of $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo ''; print_r($matches); echo ''; Kết quả $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '3'; print_r($matches); echo ''; Vì vậy, kết quả trả về của biến $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5 là một mảng các ký tự phù hợp'; print_r($matches); echo ''; Nếu bạn thắc mắc tại sao mảng trả lại ở định dạng $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '37, hãy xem các ví dụ dưới đây nhé'; print_r($matches); echo ''; Ví dụ 2. Capture Value - gom nhóm 1 cấp $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '0'; print_r($matches); echo ''; Kết quả $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '1'; print_r($matches); echo ''; Ví dụ 3. Capture Value - gom nhóm 2 cấp $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '2'; print_r($matches); echo ''; Kết quả $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '3'; print_r($matches); echo ''; Nhận xétCả 3 ví dụ trên cùng một mục đích là lấy ra chuỗi net , tuy nhiên cách khai báo lại nhau.
And results also other nhau
Nếu bạn chưa hiểu khái niệm về Capture Value thì quay lại các bài trước khi đọc nhé
Kết luậnDựa vào nhận xét trên ta có kết luận như sau
3. Một ví dụ khác function preg_matchVí dụ 1. Chúng ta sẽ làm một ví dụ lấy tên miền của https. //freetuts. net is in a string for before $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '4'; print_r($matches); echo ''; Kết quả sẽ trả về 4 phần tử tại vì trong mẫu có 3 đoạn gom nhóm Regex, kết hợp với toàn bộ regex nữa nên kết quả sẽ là 4 phần tử $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '5'; print_r($matches); echo ''; Ví dụ 2. Bonus cho các bạn thêm một ví dụ nữa đó là lấy chuỗi nằm trong cặp trích lược $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '18'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '7'; print_r($matches); echo ''; 4. Lời kếtBài này mình thấy khá là hay bởi vì kết hợp RegEx với hàm preg_match() trong PHP bạn có thể lấy bất kỳ chuỗi con nào miễn phí có một quy tắc để lấy, hàm này không dùng để lấy chuỗi con dựa vào Ngoài ra chúng ta hay sử dụng hàm preg_match() để xác thực dữ liệu như kiểm tra định dạng Email, Điện thoại,. và một chức năng khác hay khác là tách dữ liệu từ trang web khác |