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)(?=[^>]*(<|$))/
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!