如何正確運(yùn)用PHP filter判斷過濾數(shù)據(jù)
在PHP出現(xiàn)至今,一直在不斷的更新版本,增加新的功能,供我們大家使用,滿足我們的需求。PHP 5.2以及更高的版本,PHP filter被綁定于系統(tǒng),它可以對(duì)數(shù)據(jù)進(jìn)行自動(dòng)的過濾和判斷。#t#
***種、PHP filter判斷一個(gè)變量的內(nèi)容是否符合要求
使用函數(shù)filter_var,***個(gè)參數(shù)是要判斷的變量。第二個(gè)參數(shù)是判斷的要求,F(xiàn)ILTER_VALIDATE_EMAIL表示判斷是否符合email格式。如果變量是類似’boy@163.com’的數(shù)據(jù),系統(tǒng)就會(huì)完整的輸出‘boy@163.com’。如果是錯(cuò)誤的格式,比如’boy’,就會(huì)輸出false。如果沒有填寫表單中的email字段,系統(tǒng)輸出空字符串。
- $email = ‘boy@163.com’;
- echo filter_var($email,
FILTER_VALIDATE_EMAIL);
第二種、PHP filter根據(jù)要求過濾一個(gè)變量的內(nèi)容
和上面***的不同是第二個(gè)參數(shù)使用FILTER_SANITIZE_EMAIL,輸出的結(jié)果會(huì)不同。如果變量是類似’boy@163.com’的數(shù)據(jù),系統(tǒng)就會(huì)完整的輸出’boy@163.com’。如果是錯(cuò)誤的格式,比如’boy-afds3′,只要是數(shù)字和字母和劃線等email格式中可以出現(xiàn)的內(nèi)容,系統(tǒng)同樣會(huì)完整的輸出’boy-afds3′。如果變量沒有設(shè)置內(nèi)容,系統(tǒng)輸出空字符串。如果是’boy阿三’,系統(tǒng)會(huì)把email格式中不允許的東西去除,輸出’boy’。
- $email = ‘boy@163.com’;
- echo filter_var($email,
FILTER_SANITIZE_EMAIL);
第三種、PHP filter判斷輸入的變量的內(nèi)容是否符合要求
使用函數(shù)filter_input。***個(gè)參數(shù)表示從那里獲得的數(shù)據(jù),INPUT_POST表示通過POST方法傳遞過來,還可以使用INPUT_GET, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV,代表相應(yīng)的途徑。第二個(gè)參數(shù)就是數(shù)據(jù)的名稱。第三個(gè)參數(shù)代表過濾的要求,F(xiàn)ILTER_VALIDATE_EMAIL表示判斷數(shù)據(jù)是否符合email格式。
假設(shè)通過表單的POST過來的一個(gè)字段email。如果是類似’boy@163.com’的數(shù)據(jù),系統(tǒng)就會(huì)完整的輸出’boy@163.com’。如果是錯(cuò)誤的格式,比如’boy’,就會(huì)輸出false。如果沒有填寫表單中的email字段,系統(tǒng)輸出null,也就是空。
- echo filter_input(INPUT_POST,
‘email’, FILTER_VALIDATE_EMAIL);
第四種、PHP filter根據(jù)要求過濾輸入的變量的內(nèi)容
和上面***的不同是第二個(gè)參數(shù)使用FILTER_SANITIZE_EMAIL,輸出的結(jié)果會(huì)不同。假設(shè)通過表單的POST過來的一個(gè)字段email。
如果是類似’boy@163.com’的數(shù)據(jù),系統(tǒng)就會(huì)完整的輸出’boy@163.com’。如果是錯(cuò)誤的格式,比如’boy-afds3′,只要是數(shù)字和字母和劃線等email格式中可以出現(xiàn)的內(nèi)容,系統(tǒng)同樣會(huì)完整的輸出’boy-afds3′。如果沒有填寫表單中的email字段,系統(tǒng)輸出null,也就是空。如果是’boy阿三’,系統(tǒng)會(huì)把email格式中不允許的東西去除,輸出’boy’。
- echo filter_input
(INPUT_POST, ‘email’,
FILTER_SANITIZE_EMAIL);
以上就是PHP filter的具體功能介紹,希望對(duì)又需要的朋友有所幫助。