30 Tháng 5, 2016 Tác giả: Thịnh Nguyễn Chuyên mục: Công cụ

Cách dùng hàm preg_macth trong lập trình web PHP

php-block

Hàm preg_macth là một trong những hàm khá quan trọng trong lập trình PHP dùng để lọc kiểm tra cũng như. Nó giúp chúng ta kiểm tra, so sánh và đưa ra kết quả theo ý muốn mà bạn muốn.

Sau đây mình sẽ nói chi tiết về hàm này


preg_match ($pattern, $subject, &$matches)

$pattern: là biểu thức Regular Expression

$subject: là chuỗi mà bạn cần kiểm tra

$matches: là kết quả trả về, nó được truyền ở dạng tham chiếu

Kết quả mà  preg_match trả về sẽ là TRUE hoặc FALSE

hoặc


int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Ở đây mình có một ví dụ kiểm tra url để cho nó hiển thị đó là url nội hay ngoại, tức là kiểm tra url của site hay của site khác như sau


if (preg_macth("/^(.*?)\:\/\//i", $url) or preg_match("/^\/\//i" , $url ))

  • Hai ký tự // ở đầu và cuối là đánh dấu nhận biết mở và kết biểu thức
  • Chữ i để chỉ ra là không phân biện viết hoa viết thường
  • (.*?) chuỗi này chỉ ra là nhận dạng tất cả các ký tự nếu có hoặc không có
  • Ký tự ^ để chỉ ra bắt đầu chuỗi
  • Còn trước mỗi ký tự có cái \

Tức là chỉ ra rằng sau đó là ký tự thuần không phải là ký tự đặc biệt

Một ví dụ nữa


$subject = "thinhweb.com";
$pattern = '/com/';
preg_match($pattern, $subject, $matches);
echo '<pre>';
print_r($matches);
echo '</pre>';

Như vậy kết quả trả về sẽ là


Array
(
[0] => com
)

Để hiểu hơn thì có nghĩa là đúng giá trị trả về của $matches sẽ là mảng array có giá trị đầu tiên là “com“, mà trong chuỗi cần kiểm tra có “com“. Lúc này điều kiện sẽ đúng (TRUE)

Kết luận

Bạn có thể sử dụng nó bất cứ chỗ nào trong quá trình viết code nhưng phải đúng trường hợp sử dụng tránh để bị bug cũng như sử dụng sao cho thích hợp. Hơn nữa với “preg_match()” bạn phải sử dụng thường xuyên mới có thể nhớ các kiểu của nó nhất là trường hợp bắt url như link youtube,.. để có thể cho đầu ra phù hợp hơn với yêu cầu.

Tác giả: Thịnh Nguyễn

Chuyên gia chia sẻ kiến thức về lập trình, thiết kế web và tối ưu hệ thống server.

Chia sẻ bài viết này:

0 bình luận

Để lại bình luận của bạn

Địa chỉ email của bạn sẽ không được công bố rộng rãi. Các trường bắt buộc được đánh dấu *

Bài viết liên quan

Hướng dẫn tạo mật khẩu ứng dụng của Gmail

Như ở bài trước: Hướng dẫn bật xác thực 2 lớp cho tài khoản Gmail mình đã hướng dẫn các bạn kích hoạt xác thực 2 lớp thì ở bài này mình tiến hành hướng dẫn các bạn tạo mật khẩu ứng dụng SMTP cho việc sử dụng Gmail làm máy chủ mail để tích hợp vào […]

Xem chi tiết →

Hướng dẫn sử dụng công cụ Gradient Generator của cssmatic làm màu nền cho website

Hiện nay trong quá trình làm web chúng ta hay sử dụng ảnh làm nền background cho menu hay bất kỳ vị trí nào đó nhưng nền đó lại là dạng đổ màu từ trên xuống từ trái sang để tăng độ đậm nhạt của khối. Chính vì điều đó mà nó làm cho lượng […]

Xem chi tiết →

Hướng dẫn bật xác thực 2 lớp cho tài khoản Gmail

Gmail là một dịch vụ thư điện tử đến từ Google cung cấp cho người dùng miễn phí để gửi và nhận thư điện tử mau lẹ. Tuy nhiên khi sử dụng thường nhiều người không quan tâm tới việc xác thực 2 lớp. Chính vì thế hôm nay Thịnh hướng dẫn các bạn bật […]

Xem chi tiết →