Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengecualikan Kata Kunci Padanan dalam Tag HTML Tertentu Menggunakan Ungkapan Biasa dalam PHP?

Bagaimana untuk Mengecualikan Kata Kunci Padanan dalam Tag HTML Tertentu Menggunakan Ungkapan Biasa dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-20 13:30:29340semak imbas

How to Exclude Matching Keywords within Specific HTML Tags Using Regular Expressions in PHP?

Memadankan Kata Kunci Di Luar HTML Anchor Tag Menggunakan Ungkapan Biasa dalam PHP

Memadankan kata kunci dalam teks HTML boleh menjadi satu cabaran, terutamanya apabila ia berkaitan dengan mengelakkan padanan dalam teg tertentu seperti teg sauh (kata kunci" dan "kata kunci yang telah dipautkan ".

Penyelesaian

Kod PHP yang disediakan memanfaatkan regex kompleks untuk mencapai hasil yang diingini:

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

Memahami Regex

regex terdiri daripada ungkapan utama dan pandangan negatif:

Penjelasan

Regex berfungsi dengan memadankan kata kunci terlebih dahulu, kemudian menggunakan pandangan negatif untuk menyemak kehadiran teg penutup tanpa teg campur Jika pandangan hadapan berjaya, ini bermakna kata kunci itu disertakan dalam elemen utama , jadi perlawanan itu dibuang. Jika tidak, ungkapan utama sepadan dengan kata kunci dan ia digantikan dengan kod HTML yang ditentukan.

Pelaksanaan

Kod yang disediakan memberikan rentetan yang diubah suai kepada pembolehubah $str . Regex boleh diubah suai mengikut keperluan untuk memadankan kata kunci atau teg HTML yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Kata Kunci Padanan dalam Tag HTML Tertentu Menggunakan Ungkapan Biasa 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