HTML ialah bahasa penanda halaman yang biasa digunakan untuk memaparkan kandungan pada halaman web. Dalam HTML, tag textarea digunakan untuk membuat kotak teks yang membolehkan pengguna memasukkan atau mengedit teks.
Apabila anda perlu mengekstrak semua teg textarea dan kandungannya daripada halaman, ungkapan biasa PHP boleh memberikan penyelesaian yang mudah dan berkesan. Dalam artikel ini, kita akan belajar cara memadankan semua teg textarea dalam HTML menggunakan ungkapan biasa PHP.
Ungkapan biasa ialah ungkapan yang digunakan untuk memadankan corak teks. Dalam PHP, ia sering digunakan untuk perkara seperti mencari rentetan, menggantikan rentetan atau mengesahkan input.
Ekspresi biasa terdiri daripada pelbagai aksara, aksara khas dan metakarakter. Antaranya, aksara khas termasuk aksara yang digunakan untuk memadankan corak tertentu dalam teks, seperti noktah (.) yang digunakan untuk memadankan mana-mana aksara tunggal. Metacharacters menerangkan cara memadankan corak Contohnya, metacharacter pengkuantiti menerangkan sama ada untuk memadankan satu atau lebih aksara.
Dalam PHP, anda boleh menggunakan DOM parser (Document Object Model) untuk menghuraikan dokumen HTML dan mencari kandungan yang diperlukan dalam elemen dokumen . Penghurai DOM mengabstrakkan HTML ke dalam struktur pokok (objek DOM), membenarkan atur cara untuk mendapatkan dan mengubah suai kandungan elemen dalam dokumen web dengan mudah.
Menggunakan penghurai DOM, anda boleh memuatkan dokumen HTML yang mengandungi teg textarea menggunakan kod berikut:
$html = file_get_contents('example.html'); $dom = new DOMDocument; $dom->loadHTML($html);
Dalam kod, kami mula-mula menggunakan fungsi file_get_contents()
untuk mendapatkan kandungan fail HTML dan tukarkannya Diluluskan kepada penghurai DOM. Kemudian, kami menggunakan kaedah loadHTML()
untuk menukar fail HTML kepada objek DOM.
Seterusnya, kita boleh menggunakan kaedah getElementsByTagName()
pada objek DOM untuk mendapatkan semua teg textarea:
$textarea_list = $dom->getElementsByTagName('textarea');
Walaupun penghurai DOM boleh mendapatkan teg textarea dengan mudah dalam fail HTML, ia tidak menyediakan cara mudah untuk mendapatkan kandungan teg tersebut. Oleh itu, kita perlu memadankan lagi kandungan tag textarea menggunakan ungkapan biasa PHP.
teg textarea biasanya dalam bentuk berikut:
<textarea cols="50" rows="10">this is a text area</textarea>
Anda boleh menggunakan ungkapan biasa PHP untuk memadankan semua teg textarea dan kandungannya. Dalam ungkapan biasa, anda boleh menggunakan fungsi preg_match_all()
untuk menghantar rentetan HTML dan parameter yang berkaitan. Berikut ialah ungkapan biasa JavaScript yang sepadan dengan semua teg textarea:
$pattern = '/<textarea[^>]*>(.*?)</textarea>/si'; preg_match_all($pattern, $html, $matches);
Dalam kod, kami menggunakan /
untuk membalut ungkapan biasa dan menambah si
selepas ungkapan untuk menunjukkan pengecam carian, dan tambah Klik kotak semak Greedy (*?
) untuk memastikan semua tag textarea dipadankan. Jika ungkapan biasa berjaya dipadankan, semua teg textarea dan kandungannya akan dikembalikan dalam bentuk tatasusunan.
Akhir sekali, kami menggunakan kod berikut digabungkan dengan penghurai DOM dan ungkapan biasa untuk mendapatkan semua teg textarea dalam halaman dan kandungannya:
$html = file_get_contents('example.html'); $dom = new DOMDocument; $dom->loadHTML($html); $textarea_list = $dom->getElementsByTagName('textarea'); foreach($textarea_list as $textarea) { $content = $textarea->nodeValue; // 获取 textarea 的内容 echo "textarea content: $content "; }
Dalam kod, kami mula-mula memuatkan HTML fail dan Gunakan parser DOM untuk mendapatkan semua teg textarea di dalamnya. Kami kemudian menggunakan foreach
untuk menggelung setiap teg dan menggunakan $textarea->nodeValue
untuk mendapatkan kandungan kawasan teks.
Padankan dengan mudah semua teg textarea dan kandungannya dalam halaman menggunakan ungkapan biasa PHP dan penghurai DOM. Dalam aplikasi praktikal, teknologi ini boleh digunakan untuk mengisi atau mengekstrak input pengguna secara automatik daripada borang.
Berhati-hati bahawa menghuraikan dokumen HTML menggunakan ungkapan biasa boleh menjadi tidak stabil dan terdedah kepada ralat, terutamanya apabila bekerja dengan dokumen yang lebih besar. Apabila memproses dokumen HTML, adalah disyorkan untuk menggunakan penghurai DOM atau alat lain yang lebih profesional untuk memastikan kebolehpercayaan dan ketepatan kod.
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk memadankan semua teg textarea dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!