當數據源含有未知或不確定數據時,將變得非常有用, 最多是用來處理由客戶從 HTML 表單(for " /> 色护士精品影院www,午夜视频十八嗯嗯啊免费,亚洲一区在线视频

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP內置過濾器FILTER使用實例

在這一章節里, 我們來了解一個不太常用但功能強大的 php 特性: FILTERS, 該擴展可以用來驗證(validation)和糾錯(sanitization)
 
當數據源含有未知或不確定數據時,將變得非常有用, 最多是用來處理由客戶從 HTML 表單(form)提交的數據
 
該擴展含有兩個主要的過濾類型: 驗證(validation)和糾錯(sanitization)
 
驗證(validation)主要用來檢查數據是不是符合特定條件, 例如: 當傳入 FILTER_VALIDATE_EMAIL 時, 它將檢查該郵件地址是否有效, 當發現不符合規范時, 不會進行糾錯處理
 
糾錯(sanitization)將會對數據進行處理, 將不符合規范的字符進行轉換或移除, 例如: 當傳入 FILTER_SANITIZE_EMAIL 時, 它將會處理郵件地址所包含不符合規范的字符, 但不會去檢查該郵件地址是否有效

詳細可見: http://in.php.NET/manual/en/book.filter.php
提示: FILTER 在 php 5.2 版本中被加入

這里介紹一下驗證(validation) Filters
復制代碼 代碼如下:FILTER_VALIDATE_BOOLEAN:  把值作為布爾選項來驗證,對 "1", "true", "on" 和 "yes" 返回 TRUE, 其余的都返回 FALSE
FILTER_VALIDATE_EMAIL:    把值作為郵件地址來驗證
FILTER_VALIDATE_FLOAT:    把值作為浮點數來驗證
FILTER_VALIDATE_INT:      以整數驗證值,可以選擇范圍
FILTER_VALIDATE_IP:       把值作為 IP 進行驗證
FILTER_VALIDATE_REGEXP:   根據兼容 Perl 的正則表達式來驗證值
FILTER_VALIDATE_URL:      把值作為 URL 進行驗證
范例:
 
驗證郵件地址(Email Address):
復制代碼 代碼如下:
<?php
$email_a = 'onedayin2013@shawn.com';
$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.";
}
 
//輸出以下內容:
This (onedayin2013@shawn.com) email address is valid.
This (invalid@email) email address is invalid.
?>
驗證 IP 地址:
復制代碼 代碼如下:<?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.";
}
 
//輸出以下內容:
This (127.0.0.1) IP address is valid.
This (52.69) IP address is invalid.
?>

糾錯(sanitization) Filters
復制代碼 代碼如下:FILTER_SANITIZE_EMAIL:         移除所有字符, 除了字母,數字和 !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED:       去除 URL 編碼不需要的字符, 與 urlencode() 函數很類似
FILTER_SANITIZE_MAGIC_QUOTES:  在指定的預定義字符前添加反斜杠, 單引號(')、雙引號(")、反斜線(/)與 NULL
FILTER_SANITIZE_NUMBER_FLOAT:  移除所有字符, 除了數字,+- 和可選(.,)
FILTER_SANITIZE_NUMBER_INT:    移除所有字符, 除了數字和 +-
FILTER_SANITIZE_SPECIAL_CHARS: 用于對 "<>& 以及 ASCII 值在 32 值以下的字符進行轉義
FILTER_SANITIZE_STRING:        刪除那些對應用程序有潛在危害的數據。它用于去除標簽以及刪除或編碼不需要的字符
FILTER_SANITIZE_STRIPPED:      去除或編碼不需要的字符,是 FILTER_SANITIZE_STRING 的別名
FILTER_SANITIZE_URL:           移除所有字符, 除了字母,數字和 $-_.+!*'(),{}|//^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW:             不進行任何過濾,去除或編碼特殊字符


范例:
復制代碼 代碼如下:<?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";   
}
 
//輸出以下內容:
This ((corrupted@foo dot com)) email address is invalid.
Sanitized  Email is:  corrupted@foo.com
?>

過濾 GET 和 POST 變量
復制代碼 代碼如下:filter_input(input_type, variable, filter, options)
 
//函數從腳本外部獲取輸入,用于對來自非安全來源的變量進行驗證,比如用戶的輸入
//可以從以下來源獲取輸入
INPUT_GET  INPUT_POST  INPUT_COOKIE  INPUT_ENV  INPUT_SERVER
復制代碼 代碼如下:input_type  規定輸入類型, 參見上面可能的類型
variable    規定要過濾的變量
filter      可選。規定要使用的過濾器的 ID。默認是 FILTER_SANITIZE_STRING。

范例:
復制代碼 代碼如下:<?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技術PHP內置過濾器FILTER使用實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91探花福利精品国产自产在线 | 成人精品视频在线观看播放 | 国产资源在线观看 | 亚洲精品福利在线观看 | 精品福利一区二区免费视频 | 中文字幕成人免费视频 | 久久亚洲精品成人综合 | 精品视频免费看 | 精品九九久久 | 国产福利在线看 | 亚洲94vvv男人的天堂五月 | 五月激情久久 | 中文字幕一区视频 | 久久久久久久久女黄 | 欧洲视频一区 | 婷婷综合亚洲 | 播放久久国产乱子伦精品 | 美女三级在线 | 成人亚洲综合 | 久久91精品国产91久久户 | 一区二区三区四区在线免费观看 | 97香蕉久久夜色精品国产 | 一二三四视频社区5在线高清视频 | 国产亚洲综合成人91精品 | 久久夜色精品国产飘飘 | 欧美日韩亚洲人人夜夜澡 | 99国产精品高清一区二区二区 | 国产成人精品.一二区 | 亚洲视频一二三 | 午夜小视频在线观看 | 大陆5g天天看天天爽免费 | 色无极影视| 精品国内自产拍在线视频 | 亚洲网站视频 | 夜夜未满 18勿进的爽影院 | 四虎sihu新版影院亚洲精品 | 国产精品高清一区二区 | 日本韩国一区二区三区 | 国产a v高清一区二区三区 | 婷婷草| 激情影音 |