Bagaimanakah Saya Boleh Memadankan Aksara Baris Baharu dalam Regex Apabila Mengekstrak Kandungan daripada Tag HTML?

Susan Sarandon
Lepaskan: 2024-11-01 01:31:28
asal
256 orang telah melayarinya

How Can I Match Newline Characters in Regex When Extracting Content from HTML Tags?

Padankan Aksara Baris Baharu dengan Pengubahsuai Regex DOTALL

Apabila bekerja dengan rentetan yang mengandungi aksara biasa, ruang putih dan baris baharu yang disertakan dalam teg div HTML, matlamatnya adalah untuk mengekstrak kandungan antara

dan
menggunakan ungkapan biasa. Isu biasa timbul apabila aksara meta .* standard gagal padan dengan baris baharu.

Untuk mengatasinya, seseorang mesti menggunakan pengubah suai DOTALL (/s). Pengubah suai ini memastikan bahawa aksara titik (. dalam regex) sepadan dengan semua aksara, termasuk baris baharu. Dengan memasukkan pengubah suai ini ke dalam regex, adalah mungkin untuk menangkap kandungan dengan tepat dalam teg div:

'/<div>(.*)<\/div>/s'
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini boleh mengakibatkan padanan yang tamak. Untuk menangani perkara ini, menggunakan padanan yang tidak tamak adalah disyorkan:

'/<div>(.*?)<\/div>/s'
Salin selepas log masuk

Sebagai alternatif, memadankan segala-galanya kecuali < juga boleh menjadi penyelesaian jika tiada teg lain hadir:

'/<div>([^<]*)<\/div>/'
Salin selepas log masuk

Perlu diambil perhatian bahawa menggunakan aksara selain / kerana pembatas regex boleh meningkatkan kebolehbacaan, menghapuskan keperluan untuk melarikan diri / dalam . Berikut ialah contoh menggunakan # sebagai pembatas:

'#<div>([^<]*)</div>#'
Salin selepas log masuk

Walaupun penyelesaian ini mungkin mencukupi untuk kes mudah, adalah penting untuk mengakui bahawa HTML adalah kompleks dan penghuraian regeks sahaja mungkin tidak mencukupi. Untuk memastikan penghuraian yang komprehensif dan boleh dipercayai, adalah dinasihatkan untuk mempertimbangkan menggunakan penghurai HTML khusus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Aksara Baris Baharu dalam Regex Apabila Mengekstrak Kandungan daripada Tag HTML?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!