Hướng dẫn preg_match in php - preg_match trong php
Nếu bạn theo dõi serie học Regular Expression từ đầu cho tới giờ thì hàm Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. 1. Hàm preg_match() trong PHPHàm
Trong đó::
Kết quả:: Bài viết này được đăng tại [free tuts .net]
Ví dụ: kiểm tra một chuỗi có phải là một dãy số hay không.: kiểm tra một chuỗi có phải là một dãy số hay không. $pattern = '/^[0-9]+$/'; $subject = '0979306603'; if (preg_match($pattern, $subject, $matches)){ echo 'Đây là một dãy số'; } Nếu bạn thắc mắc tại sao biến $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '4 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 '4 là một tham chiếu nên bạn có thể truyền được như vậy, và bạn có thể đặt cho nó một cái tên bất kỳ chứ không nhất thiết phải là'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '4.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 '4 là một tham chiếu nên bạn có thể truyền được như vậy, và bạn có thể đặt cho nó một cái tên bất kỳ chứ không nhất thiết phải là'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '4.'; print_r($matches); echo ''; Bây giờ mình sẽ thực hành một số ví dụ để 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 '2 nên 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 '4.'; print_r($matches); echo ''; Ví dụ 1: xem thử giá trị của biến $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '4'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo ''; print_r($matches); echo ''; Kết quả: Bài viết này được đăng tại [free tuts .net] Kết quả của hàm $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '6 nếu so khớp và'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '7 nếu không khớp.'; print_r($matches); echo ''; Ví dụ: kiểm tra một chuỗi có phải là một dãy số hay không.: Capturing Value - gom nhóm 1 cấp $subject = "freetuts.net"; $pattern = '/(net)/'; preg_match($pattern, $subject, $matches); echo ''; print_r($matches); echo ''; Kết quả: Array ( [0] => net [1] => net ) Bài viết này được đăng tại [free tuts .net]: Capturing Value - gom nhóm 2 cấp $subject = "freetuts.net"; $pattern = '/((net))/'; preg_match($pattern, $subject, $matches); echo ''; print_r($matches); echo ''; Kết quả: Array ( [0] => net [1] => net [2] => net ) Bài viết này được đăng tại [free tuts .net]Kết quả của hàm $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '6 nếu so khớp và'; print_r($matches); echo ''; $subject = "freetuts.net"; $pattern = '/net/'; preg_match($pattern, $subject, $matches); echo '7 nếu không khớp.net, tuy nhiên cách khai báo lại khác nhau:'; print_r($matches); echo '';
2. Các ví dụ hàm preg_match trong php
Nếu bạn thắc mắc tại sao mảng trả về lại ở dạng $subject = "freetuts.net"; $pattern = '/(net)/'; preg_match($pattern, $subject, $matches); echo '6 thì xem các ví dụ dưới đây nhé.Capturing Value thì quay lại các bài trước dể đọc nhé:'; print_r($matches); echo '';
Nhận xét:Cả 3 ví dụ trên đều cùng một mục đích là lấy ra chuỗi net, tuy nhiên cách khai báo lại khác nhau::
Ví dụ 3: $subject = "freetuts.net";
$pattern = '/(net)/';
preg_match($pattern, $subject, $matches);
echo ' |