DANH MỤC: PHP Regular Expression

Bài 4: Hàm preg_quote trong PHP


Tiếp tục với series học Regular Expression bài này mình sẽ giới thiệu với các bạn về hàm preg_quote() trong PHP.

1, Hàm preg_quote().

-Hàm preg_quote() trong PHP có tác dụng trích dẫn các ký tự Regular Expression. Khi sử dụng hàm này thì tất cả các ký tự đặc biệt trong Regular Expression sẽ được thêm ký tự \ phía trước nó.

-Hàm này có tác dụng loại bỏ đi các ký tự đặc biệt ( . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -) trong regex để tránh các trường hợp bị trùng với các ký tự đặc biệt của chuỗi Regex.

Cú pháp:

preg_quote($string, $delimiter);

Trong đó:

  • $string là chuỗi mà các bạn muốn xử lý.
  • $delimiter là các ký tự khác ngoài các ký tự đặc biệt của regex mà bạn muốn thêm \ vào trước. Trường hợp hay được sử dụng nhất là /

2, Các ví dụ.

VD1: Thêm ký tự \ vào trước các ký tự đặc biệt của chuỗi regex trong chuỗi 'Học lập trình (online ^-^) Toidicode.com'.

<?php 
$string = 'Học lập trình (online ^-^) Toidicode.com';
$result = preg_quote($string);
echo $result;

Kết quả:

Học lập trình \(online \^\-\^\) Toidicode\.com

VD2: Thêm các ký tự \ vào trước các ký tự đặc biệt của chuỗi regex và ký tự / vào trong chuỗi 'Học lập trình ( online )https://toidicodec.com'.

<?php 
$string = 'Học lập trình ( online )https://toidicodec.com';
$result = preg_quote($string, '/');
echo $result;

Kết quả:

Học lập trình \( online \)https\:\/\/toidicodec\.com

VD3: Áp dụng hàm preg_quote vào hàm preg_match để xác thực chuỗi.

<?php 
$string = 'https://toidicodec.com';
$result = preg_quote($string, '/');
$slogun = 'Học lập trình ( online )https://toidicodec.com';
preg_match('/'.$result.'/', $slogun, $match);
print_r($match);

Kết quả:

Array
(
    [0] => https://toidicodec.com
)

3, Lời kết.

-Như vậy mình đã giới thiệu xong đến mọi người về hàm preg_quote() trong PHP rồi. Hàm này sẽ rất hữu dụng trong một vài trường hợp (như ví dụ 3) nên các bạn chú ý giúp mình.

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

Biển học vô biên, quay đầu là dại!

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia