Dalam pembangunan web, selalunya perlu menggunakan ungkapan biasa untuk memadankan rentetan. Dalam HTML, teg borang ialah teg yang sangat penting, jadi jika kita perlu mendapatkan semua teg borang dalam halaman, maka ungkapan biasa menjadi alat yang sangat berguna. Artikel ini akan memperkenalkan penggunaan ungkapan biasa dalam PHP untuk memadankan semua teg borang dalam HTML.
1. Teg borang dalam HTML
Teg borang ialah teg yang sangat penting dalam HTML. Borang ialah satu cara untuk pengguna memasukkan maklumat Elemen borang biasanya dibuat menggunakan tag seperti input, pilih dan kawasan teks. Sebagai contoh, berikut ialah kod HTML yang mengandungi teg borang:
<form action="submit.php" method="post"> <label for="username">用户名:</label> <input type="text" name="username" id="username"> <br> <label for="password">密码:</label> <input type="password" name="password" id="password"> <br> <input type="submit" value="提交"> </form>
Dalam kod HTML ini, atribut teg borang termasuk tindakan dan kaedah. Atribut tindakan menentukan alamat untuk menyerahkan data borang, dan atribut kaedah menentukan kaedah untuk menyerahkan data borang (dapatkan atau hantar). Borang tersebut mengandungi dua kotak input dan butang hantar.
2. Gunakan ungkapan biasa PHP untuk memadankan semua teg borang dalam HTML
Untuk memadankan semua teg borang dalam HTML, kita perlu menggunakan ungkapan biasa dalam PHP. Mula-mula, kita perlu menyimpan kod HTML ke dalam pembolehubah dan kemudian menggunakan fungsi preg_match_all untuk dipadankan. Berikut ialah contoh kod:
<?php $html = " <html> <body> <form action='submit.php' method='post'> <label for='username'>用户名:</label> <input type='text' name='username' id='username'> <br> <label for='password'>密码:</label> <input type='password' name='password' id='password'> <br> <input type='submit' value='提交'> </form> </body> </html>"; // 正则表达式 $pattern = '/<form(.*?)</form>/si'; // s选项表示.匹配任何字符,包括换行符;i选项表示不区分大小写。 // 匹配 preg_match_all($pattern, $html, $matches); // 输出匹配结果 echo "<pre class="brush:php;toolbar:false">"; print_r($matches[0]); echo ""; ?>
Dalam kod ini, kami menggunakan ungkapan biasa untuk memadankan teg borang dalam kod HTML. Format ungkapan biasa ialah '
', di mana ? bermaksud padanan tidak tamak dan . bermaksud memadankan 0 atau lebih aksara sewenang-wenangnya. Maksud ungkapan biasa ini ialah: padankan semua rentetan bermula dengan '