Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Ungkapan Biasa Boleh Digunakan untuk Memadankan Kata Kunci Di Luar HTML Anchor Tag dalam PHP?
Memadankan Kata Kunci Di Luar HTML Anchor Tag Menggunakan Ungkapan Biasa dalam PHP
Cabaran biasa yang dihadapi semasa memproses kandungan HTML ialah keperluan untuk melaksanakan operasi tertentu pada kata kunci tertentu dalam teks. Walau bagaimanapun, selalunya adalah perlu untuk mengecualikan tika kata kunci yang muncul dalam elemen HTML tertentu, seperti teg sauh ().
Keadaan ini timbul apabila anda ingin menggantikan kejadian kata kunci dengan pautan ke definisi kamus, tetapi hanya jika kata kunci belum disertakan dalam teg sauh dengan URL sasaran yang ditentukan. Untuk mencapai matlamat ini, ungkapan biasa PHP mesti dibina untuk memadankan kata kunci sambil mengecualikan corak tertentu dalam teg sauh.
Penyelesaian terletak pada menggunakan pernyataan pandangan negatif untuk menguatkuasakan pengecualian ini. Ungkapan biasa berikut berkesan memadankan dan menggantikan kejadian kata kunci hanya jika ia tidak muncul dalam teg sauh:
<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i', '<a href="dictionary.php?k=keyword"></a>', $str);</code>
Pernyataan pandangan negatif, disertakan dalam (?>...), memastikan kata kunci itu adalah tidak didahului dengan teg sauh pembukaan dan diikuti dengan teg sauh penutup. Pandangan ke hadapan negatif menilai rentetan yang lain tanpa menggunakan sebarang aksara, membenarkan peraturan padanan utama diteruskan selepas pandangan ke hadapan.
Dalam kes khusus ini, pandangan ke hadapan negatif menegaskan bahawa Musa tidak diikuti dengan serta-merta oleh urutan:
Jika urutan ini tiada sebelum kata kunci Moses, pandangan hadapan berjaya, menunjukkan bahawa kata kunci itu tidak berada dalam teg sauh. Ini membenarkan peraturan padanan utama menggantikan kata kunci dengan format pautan yang diingini.
Untuk mengelakkan penggantian yang tidak diingini, adalah penting untuk menguji ungkapan biasa secara menyeluruh terhadap pelbagai senario input untuk memastikan hasil yang konsisten dan tepat.
Atas ialah kandungan terperinci Bagaimanakah Ungkapan Biasa Boleh Digunakan untuk Memadankan Kata Kunci Di Luar HTML Anchor Tag dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!