Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencegah Regex daripada Mengubah Suai Teg HTML Semasa `preg_replace`?

Bagaimana untuk Mencegah Regex daripada Mengubah Suai Teg HTML Semasa `preg_replace`?

Susan Sarandon
Lepaskan: 2024-11-27 04:58:09
asal
986 orang telah melayarinya

How to Prevent Regex from Modifying HTML Tags During `preg_replace`?

Regex untuk Mengelak Pengubahsuaian Teg HTML

Apabila melakukan preg_replace pada kandungan HTML, adalah penting untuk memastikan bahawa ungkapan biasa tidak secara tidak sengaja ubah suai tag HTML. Untuk mencapai matlamat ini, anda boleh menggunakan penegasan untuk mengecualikan padanan dalam teg HTML.

Pertimbangkan senario berikut: Untuk menyerlahkan perkataan tertentu dalam halaman HTML, anda cuba membungkusnya dalam tag. Walau bagaimanapun, regex semasa anda, /(, juga menggantikan contoh perkataan dalam atribut HTML, seperti atribut alt tag anchor.

Untuk menyelesaikan masalah ini, anda boleh menggunakan penegasan pandang ke hadapan yang mengesahkan sama ada perkataan berlaku selepas > atau sebelum mana-mana dakwaan Lookahead membenarkan panjang berubah-ubah, menjadikan regex berikut sesuai:

/(asf|foo|barr)(?=[^>]*(<|$))/
Salin selepas log masuk

regex ini memastikan bahawa padanan berlaku selepas mana-mana > Untuk penjelasan terperinci tentang sintaks penegasan ini, rujuk http://www.regular-expressions.info /lookaround.html Dengan memasukkan pernyataan ini ke dalam regex anda, anda boleh mengecualikan padanan dalam teg HTML dan mengubah suai kandungan di luar dengan tepat. tanda nama.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Regex daripada Mengubah Suai Teg HTML Semasa `preg_replace`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan