Pengeluaran Teks Berbilang Baris daripada HTML dengan Regex JavaScript
Apabila cuba mendapatkan rentetan daripada HTML menggunakan ungkapan biasa dalam JavaScript, adalah penting untuk mempertimbangkan keserasian pengubah suai. Dalam senario anda, anda menghadapi isu dengan bendera berbilang baris (/m).
Pengubah suai Dotall dan JavaScript
Isu ini berpunca daripada fakta bahawa JavaScript tidak sememangnya menyokong pengubah /.../s, juga dikenali sebagai pengubah "dotall". Pengubah suai ini memaksa aksara titik (.) sepadan dengan baris baharu, yang biasanya tidak sepadan.
Membuat Penyelesaian: Kelas Watak
Untuk mengelakkan kekurangan /s dalam JavaScript, anda boleh menggunakan kelas aksara () bersama-sama dengan penolakannya (S). Pendekatan ini memadankan mana-mana watak dengan berkesan, termasuk baris baharu.
Sintaks Regex yang dikemas kini
Dengan mengambil kira perkara ini, regex anda harus diubah suai seperti berikut:
/<div>
Sokongan ES6
Perlu diperhatikan bahawa pada ES2018, JavaScript menyokong bendera "/s" (dotAll). Ini bermakna dalam persekitaran yang lebih moden, anda boleh menggunakan sintaks regex asal anda dengan bendera "/s" dan bukannya bendera "/m":
/<div>
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks berbilang baris dari HTML dengan JavaScript Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!