PHP ??
PHP ??
PHP ??? ??? ??? ?? ??? ??? ???? ???? ????? ? ?????.
PHP ??? ??????
PHP ??? ???? ?? ??? ???? ???? ????? ? ?????.
??? ?? ?? ?? ???? ????? ???? ????? ?? ?? ? ???????? ??? ?????.
PHP? ?? ??? ??? ???? ? ?? ??? ? ? ??? ???????.
??? ???? ??? ??????
?? ?? ? ??????? ?? ??? ?????. ? ???? ????? ??? ?? ?? ??????(?: ? ???)?? ?????. ??? ???? ??????? ??? ?? ??? ??? ? ? ????.
?? ???? ?? ????? ???!
?? ???? ?? ??? ?????? ?? ?? ? ?????.
???????
· ?? ?? ???
· ??
· ? ??? ???
· ?? ??
·??????????? ?????? ?? ??
?? ? ??
??? ?????? ?? ?? ?? ? ??? ?????.
· filter_var() - ??? ??? ?? ?? ?? ???
· filter_var_array() - ????? ?? ??? ?? ?? ?? ???
·????????? filter_input - ?? ?? ???? ? ???
·??????? filter_input_array - ?? ?? ??? ??? ????? ?? ??? ??????.
?? ???? filter_var() ??? ???? ??? ?????.
<?php $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)) { echo("不是一個(gè)合法的整數(shù)"); } else { echo("是個(gè)合法的整數(shù)"); } ?>
? ??? "FILTER_VALIDATE_INT" ??? ???? ??? ??????. ? ??? ????? ? ??? ??? ?? ?????.
is a legal ??
??? ?? ??(?: "123abc"), "??? ???? ????."? ?????.
?? ? ??? ?? ??? ??? PHP ?? ?? ???? ?????.
?? ? ??
? ?? ??? ??? ????.
?? ??:
· ??? ??? ???? ? ??
· ??? ?? ??(?: URL ?? ??? ??)
·?????? ???? ?? ??? ????, ???? FALSE? ?????. ??
· ??? ?? ?? ?? · ?? ???
?? ?????. >?? ? ??? ?? ? ???? ??? ??? ?? ??? ??? ???? ? ?????.???? ??? ???? ????. ?? ???? "min_range" ? "max_range" ??? ?? filter_var()? ???? ??? ???? ?????.
<?php $var=300; $int_options = array( "options"=>array ( "min_range"=>0, "max_range"=>256 ) ); if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) { echo("不是一個(gè)合法的整數(shù)"); } else { echo("是個(gè)合法的整數(shù)"); } ?>?? ??? ????? ??? ???? ???. "options"?? ?? ??? ????. ???? ???? ?? ??? ?? ??? ????. ??? "300"??? ??? ?? ?? ?? ???? ? ??? ??? ??? ????. ?(?) ??? ??? ????. ??? ?? ??? ?? ??? ??? PHP ?? ?? ???? ?????. ? ??? ?? ??? ??? ???? ? ? ????. ?? ??? ?? ??? ?? ???? ??? ?????.
?? ?? ?? ? ?? ?? ?? ?? ???? ????? ???? ????. ?? ?? filter_input() ??? ???? ?? ???? ??????.
?? ???? ?? ?? "email"? PHP ???? ?????.<?php if(!filter_has_var(INPUT_GET, "email")) { echo("沒有 email 參數(shù)"); } else { if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) { echo "不是一個(gè)合法的 E-Mail"; } else { echo "是一個(gè)合法的 E-Mail"; } } ?>? ?? ??? ??? ??? ????. ? ?? ???
?? ??
?? ??? "GET" ???? ?? ??? ?? ??(???)? ????.
<?php if(!filter_has_var(INPUT_GET, "url")) { echo("沒有 url 參數(shù)"); } else { $url = filter_input(INPUT_GET, "url", FILTER_SANITIZE_URL); echo $url; } ?>?? ?? ? ??? "GET" ???? ????. ??? ?? ??(url): 1. "GET" ??? "url" ?? ??? ??? ?? 2. ? ?? ??? ???? ?? ?? ?????(?? ?? ??). , $url ??? ??????? ??? "http://www.pphihΞp.cn/"? ??? ???? ?? ??? $url ??? ??? ????. http://www.miracleart.cn/
?? ?? ???
??? ????? ?? ?? ??? ?????. filter_var ?? filter_input ??? ?? ?? ??? ????? filter_var_array ?? filter_input_array ??? ??? ? ????.
? ???? filter_input_array() ??? ???? ? ?? GET ??? ??????. ??? GET ??? ??, ??, ??? ?????:
<?php $filters = array ( "name" => array ( "filter"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter"=>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("輸入正確"); } ?>
?? ??
?? ??? 3?? ?? ??(??, ??, ???)? ????.
1. ?? ??? ??? ??? ?? ??? ?? ??? ???? ??? ?????.
2. filter_input_array() ??? ???? ?????? GET ?? ??? ?? ??? ??? ?????.
3. $result ??? "age" ? "email" ??? ??? ??? ??? ?????. (??? ??? ?? ?? filter_input_array() ?? ?? ? ?? ??? FALSE???.)
filter_input_array() ??? ? ?? ??? ????? ?? ??? ID? ? ????.
????? ?? ??? ID? ?? ??? ??? ?? ??? ?? ?? ??????.
????? ??? ?? ??? ?? ??? ??? ???.
·???????????????????????????????????????????????????????????????????????? " " " ???????????????????????????. ??)
· ? ??? ? ??? ID??? ??, ??? ? ??? ???? ????? ???.
?? ?? ??
FILTER_CALLBACK ??? ???? ??? ?? ??? ??? ? ????. ??? ??? ??????. ??? ???? ??? ??? ???? ???? ??? ? ????.
???? ?? ??? ???? ?? PHP ??? ??? ? ????.
??? ??? ?? ??? ?? ??? ??? ??? ?????. ??? "options"? ?? ????.
?? ???? ??? ?? ??? ???? ?? "_"? ???? ?????.
<?php function convertSpace($string) { return str_replace("_", ".", $string); } $string = "www_runoob_com!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); ?>
? ??? ??? ??? ????.
?? ??
?? ?? "_"? ?? "."? ?????.
1. "_"? "."? ??? ??? ????.
2. filter_var() ??? ?????. ?? ????? FILTER_CALLBACK ??? ??? ???? ?????