Memahami Fungsi Sempadan Perkataan dalam Ungkapan Biasa PHP
Apabila cuba melaksanakan sempadan perkataan untuk memadankan perkataan tertentu dalam kandungan menggunakan ungkapan biasa dalam PHP, adalah penting untuk memahami tingkah laku mereka yang tepat. Walau bagaimanapun, semasa ujian, keputusan yang tidak dijangka mungkin timbul.
Dalam contoh yang disediakan, ungkapan "^|b@nimal/i" digunakan untuk memadankan perkataan "kucing" hanya jika ia muncul pada permulaan perkataan lain. perkataan. Walau bagaimanapun, keputusannya adalah berlawanan dengan intuisi, yang membawa kepada kekeliruan tentang cara PHP menentukan sempadan perkataan.
Kunci untuk memahami pemadanan sempadan perkataan terletak pada sifat b. Penunjuk ini sepadan pada titik peralihan antara w (aksara perkataan) dan W (aksara bukan perkataan). Untuk perlawanan untuk berjaya, mesti ada watak perkataan sebelum watak yang diminati.
Pertimbangkan contoh pertama:
preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
Ungkapan itu sepadan dengan sempadan perkataan antara "g" dan "@," kerana "g" ialah watak perkataan dan "@" ialah watak bukan perkataan.
Dalam contoh kedua:
preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
Tiada padanan berlaku kerana tiada perkataan aksara sebelum "@". Kedua-duanya "!" dan "@" ialah aksara bukan perkataan.
Untuk membetulkan isu, mulakan dengan aksara perkataan sebelum watak yang anda minati untuk dipadankan. Ini memastikan kehadiran sempadan perkataan yang sah.
Atas ialah kandungan terperinci Bagaimana Menggunakan Sempadan Kata dengan Betul dalam Ungkapan Biasa PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!