麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > PHP > 正文

PHP內(nèi)置過濾器FILTER使用實(shí)例

2020-03-22 20:32:47
字體:
供稿:網(wǎng)友
在這一章節(jié)里, 我們來了解一個(gè)不太常用但功能強(qiáng)大的 PHP 特性: FILTERS, 該擴(kuò)展可以用來驗(yàn)證(validation)和糾錯(cuò)(sanitization)

當(dāng)數(shù)據(jù)源含有未知或不確定數(shù)據(jù)時(shí),將變得非常有用, 最多是用來處理由客戶從 HTML 表單(form)提交的數(shù)據(jù)

該擴(kuò)展含有兩個(gè)主要的過濾類型: 驗(yàn)證(validation)和糾錯(cuò)(sanitization)

驗(yàn)證(validation)主要用來檢查數(shù)據(jù)是不是符合特定條件, 例如: 當(dāng)傳入 FILTER_VALIDATE_EMAIL 時(shí), 它將檢查該郵件地址是否有效, 當(dāng)發(fā)現(xiàn)不符合規(guī)范時(shí), 不會(huì)進(jìn)行糾錯(cuò)處理

糾錯(cuò)(sanitization)將會(huì)對(duì)數(shù)據(jù)進(jìn)行處理, 將不符合規(guī)范的字符進(jìn)行轉(zhuǎn)換或移除, 例如: 當(dāng)傳入 FILTER_SANITIZE_EMAIL 時(shí), 它將會(huì)處理郵件地址所包含不符合規(guī)范的字符, 但不會(huì)去檢查該郵件地址是否有效詳細(xì)可見: http://in.php.net/manual/en/book.filter.php
提示: FILTER 在 PHP 5.2 版本中被加入這里介紹一下驗(yàn)證(validation) Filters
復(fù)制代碼 代碼如下:FILTER_VALIDATE_BOOLEAN: 把值作為布爾選項(xiàng)來驗(yàn)證,對(duì) "1", "true", "on" 和 "yes" 返回 TRUE, 其余的都返回 FALSE
FILTER_VALIDATE_EMAIL: 把值作為郵件地址來驗(yàn)證
FILTER_VALIDATE_FLOAT: 把值作為浮點(diǎn)數(shù)來驗(yàn)證
FILTER_VALIDATE_INT: 以整數(shù)驗(yàn)證值,可以選擇范圍
FILTER_VALIDATE_IP: 把值作為 IP 進(jìn)行驗(yàn)證
FILTER_VALIDATE_REGEXP: 根據(jù)兼容 Perl 的html' target='_blank'>正則表達(dá)式來驗(yàn)證值
FILTER_VALIDATE_URL: 把值作為 URL 進(jìn)行驗(yàn)證
范例:

驗(yàn)證郵件地址(Email Address):
復(fù)制代碼 代碼如下:
php
$email_a = '[email protected]';
$email_b = 'invalid@email';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "This ($email_a) email address is valid.";
} else {
echo "This ($email_a) email address is invalid.";
}

if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "This ($email_b) email address is valid.";
} else {
echo "This ($email_b) email address is invalid.";
}

//輸出以下內(nèi)容:
This ([email protected]) email address is valid.
This (invalid@email) email address is invalid.

驗(yàn)證 IP 地址:
復(fù)制代碼 代碼如下: php
$ip_a = '127.0.0.1';
$ip_b = '52.69';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
echo "This ($ip_a) IP address is valid.";
}else{
echo "This ($ip_a) IP address is invalid.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
echo "This ($ip_b) IP address is valid.";
}else{
echo "This ($ip_b) IP address is invalid.";
}

//輸出以下內(nèi)容:
This (127.0.0.1) IP address is valid.
This (52.69) IP address is invalid.
糾錯(cuò)(sanitization) Filters
復(fù)制代碼 代碼如下:FILTER_SANITIZE_EMAIL: 移除所有字符, 除了字母,數(shù)字和 !#$%&'*+-/= ^_`{|}~@.[].
FILTER_SANITIZE_ENCODED: 去除 URL 編碼不需要的字符, 與 urlencode() 函數(shù)很類似
FILTER_SANITIZE_MAGIC_QUOTES: 在指定的預(yù)定義字符前添加反斜杠, 單引號(hào)(')、雙引號(hào)(")、反斜線(/)與 NULL
FILTER_SANITIZE_NUMBER_FLOAT: 移除所有字符, 除了數(shù)字,+- 和可選(.,)
FILTER_SANITIZE_NUMBER_INT: 移除所有字符, 除了數(shù)字和 +-
FILTER_SANITIZE_SPECIAL_CHARS: 用于對(duì) " & 以及 ASCII 值在 32 值以下的字符進(jìn)行轉(zhuǎn)義
FILTER_SANITIZE_STRING: 刪除那些對(duì)應(yīng)用程序有潛在危害的數(shù)據(jù)。它用于去除標(biāo)簽以及刪除或編碼不需要的字符
FILTER_SANITIZE_STRIPPED: 去除或編碼不需要的字符,是 FILTER_SANITIZE_STRING 的別名
FILTER_SANITIZE_URL: 移除所有字符, 除了字母,數(shù)字和 $-_.+!*'(),{}|//^~[]` #%";/ :@&=.
FILTER_UNSAFE_RAW: 不進(jìn)行任何過濾,去除或編碼特殊字符
范例:
復(fù)制代碼 代碼如下: php
$invalid_email = "(corrupted@foo dot com)";

if (!filter_var($invalid_email, FILTER_VALIDATE_EMAIL)) {
$sanitized_email = filter_var($invalid_email, FILTER_SANITIZE_EMAIL);
echo "This ($invalid_email) email address is invalid.";
echo "Sanitized Email is: $sanitized_email";
}

//輸出以下內(nèi)容:
This ((corrupted@foo dot com)) email address is invalid.
Sanitized Email is: [email protected]
過濾 GET 和 POST 變量
復(fù)制代碼 代碼如下:filter_input(input_type, variable, filter, options)

//函數(shù)從腳本外部獲取輸入,用于對(duì)來自非安全來源的變量進(jìn)行驗(yàn)證,比如用戶的輸入
//可以從以下來源獲取輸入
INPUT_GET INPUT_POST INPUT_COOKIE INPUT_ENV INPUT_SERVER
復(fù)制代碼 代碼如下:input_type 規(guī)定輸入類型, 參見上面可能的類型
variable 規(guī)定要過濾的變量
filter 可選。規(guī)定要使用的過濾器的 ID。默認(rèn)是 FILTER_SANITIZE_STRING。范例:
復(fù)制代碼 代碼如下: php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);

echo "You have searched for $search_html.";
echo " a href="sunzhenghua.com search=$search_url" Search again. /a

PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 狠狠久久 | 视频一区二区三区在线观看 | 久久久久久久亚洲视频 | 日韩在线激情 | 国色天香综合网 | 日日草夜夜操 | 中国老女人一级毛片视频 | 91美女视频在线观看 | 日本一区二区免费在线观看 | 精品国产91久久久久 | 亚洲精品久久久久久久久久久 | 精品国产一区二区三 | 成人在线视频播放 | 午夜在线视频一区二区三区 | 日本黄色免费片 | 四季久久免费一区二区三区四区 | 欧美激情性色生活片在线观看 | 黄网在线 | 广州毛片 | 色播久久 | 久久免费观看一级毛片 | 99国语露脸久久精品国产ktv | 欧美激情视频一区二区免费 | 国产午夜精品久久久久 | 91短视频在线视频 | 欧美综合在线观看视频 | 爱高潮www亚洲精品 chengrenzaixian | 国产在线免费 | 黑人一区二区三区四区五区 | 国产免费观看a大片的网站 欧美成人一级 | 成人在线免费视频观看 | 精品一区二区在线观看视频 | 久久国产精品久久久久久电车 | 亚洲一级网站 | 毛片午夜 | 第一区免费在线观看 | 国产精品视频一区二区三区四区五区 | sm高h视频| av影院在线播放 | 久久久www免费看片 亚洲综合视频一区 | 一级在线视频 |