Dalam pembangunan web, atribut HTML adalah salah satu elemen yang sangat penting. Walau bagaimanapun, dalam pembangunan sebenar, selalunya perlu untuk memadankan dan mengekstrak atribut. Pada masa ini, ungkapan biasa menjadi alat yang sangat berkesan.
Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan atribut HTML dan menerangkannya dengan kes sebenar. Pertama, kita perlu memahami struktur umum atribut HTML. Atribut HTML biasanya terdiri daripada nama atribut dan nilai atribut, disambungkan dengan tanda yang sama. Contohnya: class="container", id="header", dsb. Oleh itu, kita perlu menggunakan ungkapan biasa untuk memadankan nama atribut dan nilai atribut dengan tepat.
Mula-mula, mari kita lihat kes yang mudah Katakan kita mempunyai kod HTML berikut:
<div class="container"> <h1 id="header">Welcome to our website!</h1> <p>Here you can find lots of interesting articles.</p> </div>
Kita perlu memadankan atribut kelas di dalamnya. Anda boleh menggunakan ungkapan biasa berikut:
preg_match('/class="([^"]*)"/', $html, $matches);
Maksud ungkapan biasa ini ialah: padankan rentetan kelas=", dan kemudian cari mana-mana aksara yang tidak mengandungi tanda petikan serta-merta selepasnya, sehingga tanda petikan muncul semula. Dengan cara ini, kita boleh memadankan dengan betul nilai atribut kelas. Selesai Akhirnya, kita boleh mendapatkan hasil yang sepadan melalui pembolehubah $matches
Seterusnya, mari kita ambil contoh yang lebih rumit dan keluarkan nama atribut dan jumlah nilainya Pada masa ini, kita perlu menggunakan fungsi preg_match_all, seperti yang ditunjukkan di bawah:
preg_match_all('/data-(w+)="([^"]*)"/', $html, $matches, PREG_SET_ORDER); foreach ($matches as $match) { echo '属性名:' . $match[1] . ',属性值:' . $match[2] . '<br>'; }
Ungkapan biasa ini bermaksud: padankan nama atribut bermula dengan data-, sebarang huruf. atau nombor, dan (< di tengah nilai atribut 🎜>1*) Sama seperti contoh sebelumnya dengan menggunakan fungsi preg_match_all, kita boleh memadankan semua sifat yang memenuhi keperluan sekaligus dan keluarkan nama dan nilai sifatnya dengan melintasi tatasusunan $matches ingin memadankan semua atribut kelas yang mengandungi rentetan "alert", kita perlu menggunakan ungkapan biasa Carian hadapan dalam ungkapan adalah seperti berikut:
preg_match_all('/class="([^"]*alert[^"]*)"/', $html, $matches, PREG_SET_ORDER); foreach ($matches as $match) { echo '属性值中包含“alert”的class属性值为:' . $match[1] . '<br>'; }
Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan atribut HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!