PHP ??
PHP ??? ??? ??? ?? ??? ??? ???? ???? ????? ? ?????.
PHP ??? ??????
PHP ??? ???? ?? ??? ???? ???? ????? ? ?????.
??? ?? ?? ?? ???? ????? ???? ????? ?? ?? ? ???????? ??? ?????.
PHP? ?? ??? ??? ???? ? ?? ??? ? ? ??? ???????.
??? ???? ??? ??????
?? ?? ? ??????? ?? ??? ?????. ? ???? ????? ??? ?? ?? ??????(?: ? ???)?? ?????. ??? ???? ??????? ??? ?? ??? ??? ? ? ????.
?? ???? ?? ????? ???!
?? ???? ?? ??? ?????? ?? ?? ? ?????.
???????
· ?? ?? ???
· ??
· ? ??? ???
· ?? ??
· ?????? ?? ??
?? ? ??
??? ?????? ?? ?? ?? ? ??? ?????.
· filter_var() - ??? ??? ?? ??? ??????
· filter_var_array() - ????? ?? ??? ?? ?? ???
· filter_input - ?? ??? ??? ?? ??
· filter_input_array - ?? ?? ??? ??? ????? ?? ??? ?? ???
?
?? ???? filter_var() ??? ???? ??? ??????.
★ FILTER_VALIDATE_INT ??? ?? ??? ??? ?????.
<?php header("Content-type:text/html;charset=utf-8"); $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)) { echo("不是一個合法的整數(shù)"); } else { echo("是個合法的整數(shù)"); } ?>
???? ?? ??:
? ??? ?????
?? ?? ? ??? ??? ?? ??? ??? PHP ?? ?? ???? ?????.
?? ? ??
? ?? ??? ??? ????.
?? ??? ????:
· ??? ??? ???? ? ?????.
· ??? ?? ??(?: URL ?? ??? ??)
· ???? ?? ??? ?????. ?? ? FALSE? ?????.
?? ??:
· ????? ??? ??? ????? ???? ? ?????.
· ??? ?? ?? ??
· ?? ??? ??
?? ? ???
?? ? ???? ??? ??? ?? ??? ??? ???? ? ?????.
???? ??? ???? ????.
?
?? ???? "min_range" ? "max_range" ??? ?? filter_var()? ???? ??????. ?? :
<?php header("Content-type:text/html;charset=utf-8"); $var=300; $int_options = array( "options"=>array ( "min_range"=>0, //最小值 "max_range"=>256 //最大值 ) ); if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) { echo("不是一個合法的整數(shù)"); } else { echo("是個合法的整數(shù)"); } ?>
? ??? ????? ??? "options"?? ?? ??? ??? ???. ???? ???? ?? ??? ?? ??? ????.
??? "300"??? ??? ?? ?? ?? ???? ? ??? ??? ??? ????.
?(?) ??? ??? ????.
?? ? ??? ?? ??? ??? PHP ?? ?? ???? ?????. ? ??? ?? ??? ??? ???? ? ? ????.
?? ??? ??
??? ?? ???? ??? ?????.
?? ?? ?? ? ?? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ??????.
??
?? ???? ?? "email"? GET ???? ???? PHP ???? ?????:
<?php header("Content-type:text/html;charset=utf-8"); if(!filter_has_var(INPUT_GET, "email")) { echo("沒有 email 參數(shù)"); } else { if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) { echo "不是一個合法的 E-Mail"; } else { echo "是一個合法的 E-Mail"; } } ?>
???? ?? ??:
?? ?? ??
? ???? "GET" ???? ?? ??? ?? ??(email)? ????.
1. "email" ?? ??? ??? ?????. "GET" ??
2. ?? ??? ???? ?? ??? ??? ???? ?????
?? ??
???? ??? URL? ??? ?????.
?? ??? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ?????.
????
?? ???? ?? ?? "url"? PHP ???? ?????.
<?php header("Content-type:text/html;charset=utf-8"); if(!filter_has_var(INPUT_GET, "url")) { echo("沒有 url 參數(shù)"); } else { $url = filter_input(INPUT_GET, "url", FILTER_SANITIZE_URL); echo $url; } ?>
?? ??
★FILTER_SANITIZE_URL ??? ????? ?? ?? URL ??? ?????.
?? ??? "GET" ???? ?? ??? ?? ??(url)? ????.
1. "GET" ??? "url" ?? ??? ??? ??
2. ? ?? ??? ???? ?? ?? ????(?? ?? ??) $url ??? ?????.
?? ??? ??? ??? ???? ??: " http:// www. ru??no??ob.com/"? ?? ??? $url ??? ??? ????.
?? ?? ???
??? ????? ?? ?? ??? ?????. filter_var ?? filter_input ??? ?? ?? ??? ????? filter_var_array ?? filter_input_array ??? ??? ? ????.
?
filter_input_array() ??? ???? ? ?? GET ??? ??????. ??? GET ??? ??, ??, ??? ?? :
<?php header("Content-type:text/html;charset=utf-8"); $filters = array ( "name" => array ( "filter_has_var"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter_has_var"=>FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL ); $result = filter_input_array(INPUT_GET, $filters); if (!$result["age"]) { echo("年齡必須在 1 到 120 之間。<br>"); } elseif(!$result["email"]) { echo("E-Mail 不合法<br>"); } else { echo("輸入正確"); } ?>
???? ?? ?? :
?? ??
?? ??? "GET" ???? ?? ??? 3?? ?? ??(??, ??, ???)? ????.
1. ?? ?? ? ??? ?? ??
? ???? ?? 2. filter_input_array() ??? ???? ?? ???? GET ?? ??? ???? ?? ??? ???
3???. ?? ?? ? "age", "email" ??? ??? ??? ???? (??? ??? ?? ?? filter_input_array() ?? ?? ? ?? ??? FALSE???.)
filter_input_array() ??? ? ?? ??? ????? ?? ??? ID? ? ????.
????? ?? ??? ID? ?? ??? ??? ?? ??? ?? ?? ??????.
????? ??? ?? ??? ?? ??? ??? ???.
· ?? ??? ????? ?? ?? ????? ???. ??(?: "age" ?? ??)
· ? ??? ?? ??? ID??? ??, ???, ??? ???? ????? ???
?? ?? ??
★ FILTER_CALLBACK ??? ??? ?? ??? ???? ?? ??????
FILTER_CALLBACK ??? ???? ??? ?? ??? ???? ??? ??? ? ????. ??? ???? ??? ??? ???? ???? ??? ? ????.
???? ?? ??? ???? ?? PHP ??? ??? ? ????.
??? ??? ?? ??? ?? ??? ??? ??? ?????. ??? "options"? ?? ????.
?
?? ???? ??? ?? ??? ?????. "_"?? "."
<?php header("Content-type:text/html;charset=utf-8"); function convertSpace($string) { return str_replace("_", ".", $string); } $string = "www_php_cn!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); ?>
???? ?? ??:
miracleart.cn!
?? ??
?? ?? "_"? ?? "."? ?????.
1. "_"? "."?? ????.
2. FILTER_CALLBACK ??? ??? ??? ??? filter_var() ??? ?????.