Rumah >pembangunan bahagian belakang >tutorial php >Ungkapan Biasa PHP: Bagaimana untuk memadankan semua menu lungsur turun dalam HTML
Dalam pembangunan web, menu lungsur ialah jenis kawalan yang biasa. Dalam sesetengah kes, kita perlu memadankan semua elemen menu lungsur turun dalam HTML dengan ungkapan biasa PHP, seperti dalam kes perangkak atau pengikisan data. Artikel ini akan menunjukkan kepada anda cara menggunakan ungkapan biasa PHP untuk memadankan semua menu lungsur turun dalam HTML.
<select> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select>
preg_match_all(pattern, subject, matches);
di mana corak mewakili ungkapan biasa, subjek ialah rentetan yang hendak dicari dan padanan ialah tatasusunan hasil dipadankan.
/<select[^>]*>(.*?)</select>/s
Ungkapan biasa ini boleh memadankan semua teg terpilih, termasuk Tag pilihan. Antaranya, mewakili sempadan perkataan, 1 mewakili sifar atau lebih bukan-">" aksara, (.?) mewakili mod tidak tamak Semuanya, s bermakna biarkan "." sepadan dengan semua aksara termasuk baris baharu.
Berikut ialah contoh kod lengkap:
$html = ' '; preg_match_all('/<select[^>]*>(.*?)</select>/s', $html, $matches); print_r($matches);
Jalankan kod di atas dan keluarkan keputusan berikut:
Array ( [0] => Array ( [0] => <select> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select> [1] => <select> <option value="4">选项4</option> <option value="5">选项5</option> <option value="6">选项6</option> </select> ) [1] => Array ( [0] => <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> ) [1] => <option value="4">选项4</option> <option value="5">选项5</option> <option value="6">选项6</option> ) ) )
Susun atur hasil mengandungi dua elemen, sepadan dengan dua HTML kod untuk menu lungsur. Jika terdapat lebih banyak menu lungsur pada halaman, ia juga akan dipadankan dan disimpan dalam tatasusunan hasil.
foreach ($matches[1] as $select) { preg_match_all('/<option value="(.*?)">(.*?)</option>/s', $select, $options); print_r($options); }
Hasil output adalah seperti berikut:
Array ( [0] => Array ( [0] => <option value="1">选项1</option> [1] => <option value="2">选项2</option> [2] => <option value="3">选项3</option> ) [1] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [2] => Array ( [0] => 选项1 [1] => 选项2 [2] => 选项3 ) )
Perhatikan bahawa "(.*? )" sepadan nilai dan teks pilihan masing-masing. Jika anda perlu mengekstrak atribut lain, seperti gaya atau ID pilihan, anda juga boleh menambah corak yang sepadan dalam ungkapan biasa.
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk memadankan semua menu lungsur turun dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!