Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Ungkapan Biasa Boleh Digunakan untuk Memadankan Kata Kunci Di Luar HTML Anchor Tag dalam PHP?

Bagaimanakah Ungkapan Biasa Boleh Digunakan untuk Memadankan Kata Kunci Di Luar HTML Anchor Tag dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-20 13:33:03674semak imbas

How Can Regular Expressions Be Used to Match Keywords Outside HTML Anchor Tags in 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:

  1. Sebarang bilangan bukan< aksara
  2. Teg penambat pembuka yang tidak menutup sendiri
  3. Sebarang bilangan bukan< aksara
  4. Teg sauh penutup

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn