Rumah > pembangunan bahagian belakang > tutorial php > Ungkapan Biasa PHP: Bagaimana untuk memadankan semua menu lungsur turun dalam HTML

Ungkapan Biasa PHP: Bagaimana untuk memadankan semua menu lungsur turun dalam HTML

PHPz
Lepaskan: 2023-06-23 11:12:02
asal
1337 orang telah melayarinya

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.

  1. Pertama, kita perlu memahami struktur HTML kawalan menu lungsur. Menu lungsur turun biasanya terdiri daripada teg pilihan dan sebarang bilangan teg pilihan. Sebagai contoh, struktur HTML menu lungsur turun mudah kelihatan seperti ini:
<select>
  <option value="1">选项1</option>
  <option value="2">选项2</option>
  <option value="3">选项3</option>
</select>
Salin selepas log masuk
  1. Seterusnya, kita boleh menggunakan fungsi ungkapan biasa PHP preg_match_all() untuk memadankan semua elemen menu lungsur turun . Sintaks fungsi ini adalah seperti berikut:
preg_match_all(pattern, subject, matches);
Salin selepas log masuk

di mana corak mewakili ungkapan biasa, subjek ialah rentetan yang hendak dicari dan padanan ialah tatasusunan hasil dipadankan.

  1. Untuk kawalan menu lungsur, kita boleh menggunakan ungkapan biasa berikut untuk memadankan struktur HTMLnya:
/<select[^>]*>(.*?)</select>/s
Salin selepas log masuk

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

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>
         )
        )

)
Salin selepas log masuk

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.

  1. Dalam aplikasi praktikal, kita mungkin juga perlu menggunakan ungkapan biasa untuk mengekstrak nilai dan teks setiap pilihan dalam menu lungsur. Sebagai contoh, kod berikut boleh mengekstrak semua pilihan daripada tatasusunan hasil:
foreach ($matches[1] as $select) {
    preg_match_all('/<option value="(.*?)">(.*?)</option>/s', $select, $options);
    print_r($options);
}
Salin selepas log masuk

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
        )

)
Salin selepas log masuk

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.


  1. >

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!

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