⊗ppPmRgESCh 226 of 447 menu

Ký tự đặc biệt trong biểu thức chính quy PHP

Giả sử chúng ta muốn một ký tự đặc biệt biểu thị chính nó. Để làm được điều này, cần phải sử dụng dấu gạch chéo ngược để thoát nó. Hãy xem qua các ví dụ.

Ví dụ

Trong ví dụ tiếp theo, tác giả của biểu thức chính quy muốn mẫu tìm kiếm trông như thế này: chữ cái 'a', sau đó dấu cộng '+', sau đó chữ cái 'x'. Tuy nhiên, tác giả của mã không thoát ký tự '+' và do đó mẫu tìm kiếm thực sự trông như thế này: chữ cái 'a' một hoặc nhiều lần, sau đó chữ cái 'x':

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a+x#', '!', $str); ?>

Kết quả trong biến sẽ là:

'a+x ! ! !'

Ví dụ

Bây giờ tác giả đã thoát dấu cộng bằng dấu gạch chéo ngược. Bây giờ mẫu tìm kiếm trông như thế này, như mong muốn: chữ cái 'a', sau đó dấu cộng '+', sau đó chữ cái 'x'.

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a\+x#', '!', $str); ?>

Kết quả trong biến sẽ là:

'! ax aax aaax'

Ví dụ

Trong ví dụ này, mẫu trông như thế này: chữ cái 'a', sau đó dấu chấm '.', sau đó chữ cái 'x':

<?php $str = 'a.x abx azx'; $res = preg_replace('#a\.x#', '!', $str); ?>

Kết quả trong biến sẽ là:

'! abx azx'

Ví dụ

Trong ví dụ tiếp theo, tác giả quên thoát dấu chấm và biểu thức chính quy khớp với tất cả các chuỗi con, vì dấu chấm không được thoát biểu thị bất kỳ ký tự nào:

<?php $str = 'a.x abx azx'; $res = preg_replace('#a.x#', '!', $str); ?>

Kết quả trong biến sẽ là:

'! ! !'

Ví dụ

Chú ý rằng nếu bạn quên dấu gạch chéo ngược cho dấu chấm (khi nó phải biểu thị chính nó) - điều này thậm chí có thể không được chú ý:

<?php preg_replace('#a.x#', '!', 'a.x'); // trả về '!', như chúng ta mong muốn ?>

Trực quan, nó hoạt động chính xác (vì dấu chấm biểu thị bất kỳ ký tự nào, bao gồm cả dấu chấm thông thường '.'). Nhưng nếu thay đổi chuỗi, trong đó diễn ra việc thay thế - chúng ta sẽ thấy lỗi của mình:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // trả về '! ! !', trong khi mong đợi '! abx azx' ?>
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối