Lập trình PHP nâng cao Lập trình web

Sử dụng Regular Expression trong PHP

Ở những bài học trước chúng ta đã tìm hiểu về Regular Expression cũng như các ký hiệu thường được sử dụng trong Regular Expression, và như vậy một vấn đề nảy sinh là làm sao để Sử dụng Regular Expression trong PHP, đây chính là nội dung mà Aki sẽ giới thiệu cho các bạn trong bài viết ngày hôm nay.

Việc sử dụng Regular Expression trong PHP thường thông qua 2 hàm preg_matchpreg_match_all preg_replace

1. Sử dụng hàm preg_match

Hàm preg_match trả về giá trị 1 nếu tìm được $pattern trong chuỗi $subject và trả về 0 nếu không tìm được

Cú pháp

  • $pattern mẫu regular expression cần tìm kiếm trong chuỗi
  • $subject chuỗi nguồn
  • &$match mảng chứa các phần tử được tìm thấy (một phần tử)

2. Sử dụng hàm preg_match_all

Hàm preg_match_all trả về giá trị 1 nếu tìm được $pattern trong chuỗi $subject và trả về 0 nếu không tìm được

Cú pháp

  • $pattern mẫu regular expression cần tìm kiếm trong chuỗi
  • $subject chuỗi nguồn
  • &$match mảng chứa các phần tử được tìm thấy (nhiều phần tử)

Như vậy chúng ta đã hiểu về cách dùng của hàm preg_matchpreg_match_all, Aki tóm tắt hai hàm này lại như sau:

  • Trả về giá trị 1 nếu tìm được $pattern trong chuỗi $subject và trả về 0 nếu không tìm được
  • preg_match thì $match chỉ gồm một phần tử, preg_match_all thì $match gồm nhiều phần tử

Trong hai ví dụ trên các bạn thấy $pattern là một chuỗi và biểu thức chính quy được bao bọc trong cặp dấu /,  Aki sẽ thử một tình huống như sau

Tìm giá trị /PHP/ có xuất hiện trong chuỗi PHP /PHP/ is easy hay không ? Như vậy việc mô tả pattern sẽ khá phức tạp nên chúng ta sẽ thống nhất dùng ký hiệu cặp dấu # để bao bọc biểu thức chính quy nhé, như vậy yêu cầu trên được giải quyết như sau:

3. Sử dụng hàm preg_replace

Hàm preg_replace tìm kiếm và thay thế $pattern trong $content bởi giá trị $replacement (nếu $pattern tồn tại trong $content)

Cú pháp

  • $pattern mẫu regular expression cần tìm kiếm trong chuỗi
  • $replacement mẫu (chuỗi) regular expression cần thay thế trong chuỗi
  • &content chuỗi nguồn

Áp dụng: Đọc nội dung tập tin khoa-hoc.txt và thay thế tất cả các giá trị PHP (không phân biệt chữ hoa chữ thường) thành giá trị <a href=”http://www.laptrinhweb.org”>PHP</a>

  • Nội dung tập tin khoa-hoc.txt
  •  Nội dung tập tin index.php
Kết thúc bài viết Sử dụng Regular Expression trong PHP các bạn đã biết vận dụng các kiến thức biểu thức chính quy vào trong PHP là như thế nào. Trong bài viết sau Aki sẽ đưa ra một bài tập thực tế để các bạn ôn tập lại tất cả kiến thức mà chúng ta đã tìm hiểu về biểu thức chính quy nhé!

Series NavigationValidate form sử dụng Regular Expression >>
Nguồn: laptrinhweb.org