Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Memadankan Kata Kunci Di Luar Teg Sauh Menggunakan PHP Regex?

Bagaimana Memadankan Kata Kunci Di Luar Teg Sauh Menggunakan PHP Regex?

Patricia Arquette
Patricia Arquetteasal
2024-10-20 13:29:02352semak imbas

How to Match Keywords Outside of Anchor Tags Using PHP Regex?

Padanan Kata Kunci Di Luar HTML Anchor Tag () Menggunakan Ungkapan Biasa PHP

Dalam pembangunan web, mungkin terdapat situasi di mana anda perlu memadankan dan menggantikan kata kunci dalam kandungan HTML sambil mengelakkan kawasan tertentu tertentu, seperti hiperpautan. Ini boleh dicapai menggunakan ungkapan biasa PHP.

Pernyataan Masalah:

Tugas di tangan ialah mencari corak ungkapan biasa yang sepadan dengan kata kunci "kata kunci" tetapi tidak termasuk kejadian yang disertakan dalam teg sauh (kata kunci).

Penyelesaian:

Untuk menangani masalah ini dengan berkesan, ungkapan biasa PHP berikut boleh digunakan:

<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i',
                    '<a href="novo-mega-link.php"></a>', $str);</code>

Penjelasan:

  • Musa: Bahagian ini hanya sepadan dengan kata kunci "Musa."
  • (?!: Ini menandakan permulaan pernyataan pandangan negatif.
  • (?>[^<]*(?:<(?!/ ?ab)[^<]*)*): Bahagian ini mencipta corak rekursif untuk mengenal pasti sebarang bilangan aksara teg bukan HTML atau teg bersarang yang tidak membuka teg sauh.
  • : Padan dengan teg penambat penutup.
  • ): Tanda kurung ini menutup pernyataan pandangan negatif.
  • ~i: Pengubah suai tidak peka huruf besar dan kecil menjadikan corak berfungsi untuk kedua-dua huruf besar dan kecil "Musa."

Prinsip Kerja:

Ungkapan biasa pada mulanya sepadan dengan "Musa". Walau bagaimanapun, jika syarat berikut dipenuhi, ia tidak akan melaksanakan padanan:

  • Kata kunci mesti diikuti dengan urutan aksara bukan HTML.
  • Kata kunci mestilah tidak diikuti dengan teg sauh pembuka.
  • Kata kunci mesti diikuti dengan teg sauh penutup yang sah.

Jika semua syarat ini dipenuhi, corak tidak akan sepadan dengan kata kunci. Akibatnya, ia akan dikecualikan daripada penggantian.

Atas ialah kandungan terperinci Bagaimana Memadankan Kata Kunci Di Luar Teg Sauh Menggunakan PHP Regex?. 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