Ungkapan Biasa PHP: Bagaimana untuk memadankan semua teg textarea dalam HTML

王林
Lepaskan: 2023-06-22 21:32:02
asal
1523 orang telah melayarinya

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.

  1. Memahami Ungkapan Biasa

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.

  1. Gunakan PHP DOM parser

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);
Salin selepas log masuk

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');
Salin selepas log masuk
  1. Padankan kandungan teg 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>
Salin selepas log masuk

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);
Salin selepas log masuk

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 
";
}
Salin selepas log masuk

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.

  1. Kesimpulan

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!