Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Memadankan Aksara Baris Baharu dalam Tag HTML Menggunakan Ungkapan Biasa?

Bagaimanakah Saya Memadankan Aksara Baris Baharu dalam Tag HTML Menggunakan Ungkapan Biasa?

DDD
DDDasal
2024-11-02 01:55:31924semak imbas

How Do I Match Newline Characters within HTML Tags Using Regular Expressions?

Memadankan Aksara Baris Baharu dengan Ungkapan Biasa

Anda menghadapi cabaran semasa cuba memadankan rentetan antara

dan
tag, di mana aksara baris baharu hadir. Ungkapan biasa standard .* gagal mengecam aksara baris baharu ini.

Untuk menangani isu ini, gunakan pengubah suai DOTALL (aka /s), yang membolehkan titik (.) sepadan dengan mana-mana aksara, termasuk baris baharu. Cuba ungkapan berikut:

'/<div>(.*)<\/div>/s'

Walau bagaimanapun, ambil perhatian bahawa padanan tamak mungkin tidak menghasilkan hasil yang diingini. Pertimbangkan untuk menggunakan padanan yang tidak tamak:

'/<div>(.*?)<\/div>/s'

Sebagai alternatif, anda boleh memadankan apa-apa sahaja kecuali '<', selagi tiada teg lain hadir:

'/<div>([^<]*)<\/div>/s'

Ingat, menggunakan aksara selain daripada '/' sebagai pembatas (cth., '#') boleh meningkatkan kebolehbacaan dengan menghapuskan keperluan untuk melepaskan '/' dalam teg. Berikut ialah contoh dengan '#':

'#<div>([^<]*)<\/div>'

Walaupun pilihan ini, adalah penting untuk mengetahui batasan regex apabila berurusan dengan HTML yang kompleks. Div bersarang, ruang kosong tambahan dan kerumitan lain boleh menyebabkan penghuraian regex tidak boleh dipercayai. Untuk penghuraian yang lebih tepat, pertimbangkan untuk menggunakan penghurai HTML.

Atas ialah kandungan terperinci Bagaimanakah Saya Memadankan Aksara Baris Baharu dalam Tag HTML Menggunakan Ungkapan Biasa?. 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