Menggunakan Ungkapan Biasa untuk Menjadikan Titik Padanan Aksara Baris Baharu
Dalam ungkapan biasa, titik (.) boleh memadankan mana-mana aksara kecuali baris baharu. Walau bagaimanapun, kadangkala anda mungkin mahu memadankan baris baharu juga.
Untuk mencapai ini, anda boleh menggunakan pengubah suai DOTALL (/s). Ia menjadikan titik itu sepadan dengan semua aksara, termasuk baris baharu.
Sebagai contoh, ungkapan biasa berikut tidak akan sepadan dengan baris baharu:
/<div>(.*)</div>/
Untuk menjadikannya sepadan dengan baris baharu, tambahkan pengubah suai DOTALL:
/<div>(.*)</div>/s
Walau bagaimanapun, ini mungkin tidak sesuai jika anda mahukan perlawanan yang tidak tamak. Sebaliknya, anda boleh menggunakan padanan yang tidak tamak:
/<div>(.*?)</div>/s
Sebagai alternatif, jika tiada teg lain, anda boleh memadankan semua kecuali '<' aksara:
/<div>([^<]*)</div>/
Perlu juga ambil perhatian bahawa anda tidak semestinya perlu menggunakan '/' sebagai pembatas untuk ungkapan biasa. Menggunakan aksara yang berbeza membolehkan anda mengelak daripada melepaskan garis miring dalam
#<div>([^<]*)</div>#
Walau bagaimanapun, adalah penting untuk mengetahui bahawa penyelesaian ini mungkin gagal dengan kehadiran div bersarang, ruang kosong tambahan, Komen HTML dan kerumitan lain. HTML agak rumit, jadi selalunya lebih sesuai untuk menggunakan penghurai HTML untuk tugasan sedemikian.
Atas ialah kandungan terperinci Bagaimana untuk Membuat Titik (.) Memadankan Garis Baharu dalam Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!