Penapis Lanjutan dalam Tutorial Asas Pembangunan PHP
1 Kesan sama ada nombor berada dalam julat
Contoh berikut menggunakan fungsi filter_var() untuk mengesan sama ada pembolehubah jenis INT berada di antara 1. dan Dalam 200:
Kod adalah seperti berikut
<?php $int = 134; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("變量值不在合法范圍內(nèi)"); } else { echo("變量值在合法范圍內(nèi)"); } ?>
Output ditunjukkan di sebelah kanan
2. Kesan alamat IPv6
Contoh berikut menggunakan fungsi filter_var() untuk mengesan sama ada pembolehubah $ip ialah alamat IPv6:
<?php $ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334"; if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) { echo("$ip 是一個(gè) IPv6 地址"); } else { echo("$ip 不是一個(gè) IPv6 地址"); } ?>
Output ditunjukkan di sebelah kanan
Tiga , Kesan URL - mesti mengandungi QUERY_STRING (rentetan pertanyaan)
Contoh berikut menggunakan fungsi filter_var() untuk mengesan sama ada $url mengandungi rentetan pertanyaan:
Kod adalah seperti berikut
<?php $url = "http://www.miracleart.cn"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一個(gè)合法的 URL"); } else { echo("$url 不是一個(gè)合法的 URL"); } ?>
Hasil output ditunjukkan dalam gambar di sebelah kanan
4. Alih keluar aksara dengan nilai ASCII lebih besar daripada 127
Alih Kecuali aksara dengan nilai ASCII lebih besar daripada 127
Kod adalah seperti berikut
<?php $str = "<h1>Hello World???!</h1>"; $newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); echo $newstr; ?>
Hasil output ditunjukkan dalam gambar di sebelah kanan
Nota: Untuk lebih banyak aplikasi penapis PHP, sila lihat manual PHP