Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memadankan Aksara Baris Baharu dalam Regex Apabila Mengekstrak Kandungan daripada Tag HTML?
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
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'
Walau bagaimanapun, pendekatan ini boleh mengakibatkan padanan yang tamak. Untuk menangani perkara ini, menggunakan padanan yang tidak tamak adalah disyorkan:
'/<div>(.*?)<\/div>/s'
Sebagai alternatif, memadankan segala-galanya kecuali < juga boleh menjadi penyelesaian jika tiada teg lain hadir:
'/<div>([^<]*)<\/div>/'
Perlu diambil perhatian bahawa menggunakan aksara selain / kerana pembatas regex boleh meningkatkan kebolehbacaan, menghapuskan keperluan untuk melarikan diri / dalam div>. Berikut ialah contoh menggunakan # sebagai pembatas:
'#<div>([^<]*)</div>#'
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!