PHP ??
PHP ??? ??? ??? ?? ??? ??? ???? ???? ????? ? ?????.
PHP ??? ??????
PHP ??? ???? ?? ??? ???? ???? ????? ? ?????.
??? ?? ?? ?? ???? ????? ???? ????? ?? ?? ? ???????? ??? ?????.
PHP? ?? ??? ??? ???? ? ?? ??? ? ? ??? ???????.
??? ???? ??? ??????
?? ?? ? ??????? ?? ??? ?????. ? ???? ????? ??? ?? ?? ??????(?: ? ???)?? ?????. ??? ???? ??????? ??? ?? ??? ??? ? ? ????.
?? ???? ?? ????? ???!
?? ???? ?? ??? ?????? ?? ?? ? ?????.
?? ???? ??????
1. ??? ??? ??
2. ??
3. ?? ??
5 . ?????? ?? ??
?? ? ?? ??? ?????? ?? ?? ?? ? ??? ?????.
? 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ù)"); } ?>
?? ??? ????? ??? "??"? ??? ???. ??? ??. ???? ???? ?? ??? ?? ??? ????.
??? "300"??? ??? ?? ?? ?? ???? ? ??? ??? ??? ????.
?(?) ??? ??? ????.
??? ??? ?? ??? ??? PHP ?? ?? ???? ?????. ? ??? ?? ??? ??? ???? ? ? ????.
?? ??? ??
??? ?? ???? ??? ?????.
?? ?? ?? ? ?? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ??????.
?? ???? ?? ?? "email"? PHP ???? ?????.
<?php if(!filter_has_var(INPUT_GET, "email")) { echo("沒(méi)有 email 參數(shù)"); } else { if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) { echo "不是一個(gè)合法的 E-Mail"; } else { echo "是一個(gè)合法的 E-Mail"; } } ?>
? ?? ??? ??? ??? ????.
?? ??
?? ??? "GET" ???? ?? ??? ?? ??(???)? ????.
??? ??? ?????. "GET" ??? "email" ?? ??
?? ??? ???? ?? ??? ??? ???? ??
?? ??
???? ??? URL? ??? ?????.
?? ??? ?? ?? ?? ???? ????? ???? ????.
?? ?? filter_input() ??? ???? ?? ???? ?????.
?? ???? ?? ?? "url"? PHP ???? ?????.
<?php if(!filter_has_var(INPUT_GET, "url")) { echo("沒(méi)有 url 參數(shù)"); } else { $url = filter_input(INPUT_GET, "url", FILTER_SANITIZE_URL); echo $url; } ?>
?? ??
? ? "GET" ???? ??? ?? ?? ??(url)? ????:
"GET" ??? "url" ?? ??? ??? ??
? ?? ??? ???? ?? ?????. ??(?? ?? ??) $url ??? ?????.
?? ??? "http://www.ru??no??ob.com/"? ?? ???? ?? ??? $url ??? ??? ????. ?? ??:
?? ?? ???
?? ????? ?? ?? ??? ?????. 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("輸入正確"); } ?>
?? ??
?? ??? "GET" ???? ?? ??? 3?? ?? ??(??, ?? ? ???)? ????.
1. ?? ??? ??? ??? ?? ?? ??? ???? ??? ?????.
2. filter_input_array() ??? ?????. ?????? GET ?? ??? ???? ?? ??? ??? ?????
3. $result ???? "age" ? "email" ??? ?????. ????? ???? (??? ??? ?? ?? filter_input_array() ?? ?? ? ?? ??? FALSE???.)
filter_input_array() ??? ? ?? ??? ????? ?? ??? ID? ? ????.
????? ?? ??? ID? ?? ??? ??? ?? ??? ?? ?? ??????.
????? ??? ?? ??? ?? ??? ??? ???.
? ??? ?? ?? ??(?: "age")? ???? ?? ????? ???. " ?? ?? )
? ??? ?? ??? ID??? ??, ??? ? ??? ???? ????? ???.
?? ?? ??
FILTER_CALLBACK ??? ???? ??? ?? ??? ???? ??? ??? ? ????. ??? ???? ??? ??? ???? ???? ??? ? ????.
???? ?? ??? ???? ?? PHP ??? ??? ? ????.
??? ??? ?? ??? ?? ??? ??? ??? ?????. ??? "options"? ?? ????.
?? ???? ??? ?? ??? ???? ?? "_"? ???? ?????.
<?php function convertSpace($string) { return str_replace("_", ".", $string); } $string = "www_php_com!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); ?>
? ??? ??? ??? ????.
www.php.com
?? ??
?? ?? "_"? ?? "."? ?????.
1 . "_"? "."?? ??? ??? ????.
2. FILTER_CALLBACK ??? ??? ???? ??? filter_var() ??? ?????.