ciao
usando la comode funzione filter_var ho provato a farmi una funzioncina per sanificare e validare un url.
ma mi sono venuti alcuni dubbi
mi sembra che il sanitize/validate accetti qualsiasi porcheria, basta che abbia davanti http://
qualcuno ha delle indicazioni migliori?
p.s.
non rimandatemi a http://it.php.net/manual/en/function.filter-var.php perchè è da proprio lì che provengo
usando la comode funzione filter_var ho provato a farmi una funzioncina per sanificare e validare un url.
ma mi sono venuti alcuni dubbi
PHP:
<?php
function verifica_url($url){
$url=filter_var($url, FILTER_SANITIZE_URL);//sanifico (ma lascia un sacco di caratteri che secondo me non dovrebbero esserci)
//$url=filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED);//sembrerebbe filter_flag inutile
$url=filter_var($url, FILTER_VALIDATE_URL);//e verifico
return $url;
}//function
//***TEST DI PROVA********************************************************************
//$stringa=verifica_url("http://www.pinco_pallo.it");//è valido OK
//$stringa=verifica_url("http://pinco_pallo.it");//è valido OK
//$stringa=verifica_url("www.pinco_pallo.it");//NON è valido
//$stringa=verifica_url("pinco_pallo.it");// NON è valido
//$stringa=verifica_url("pinco_pallo.");//NON è valido
//$stringa=verifica_url("pinco_pallo");//NON è valido
//$stringa=verifica_url("http://sbrodolacchio");//???è valido, ma in teoria non dovrebbe esserlo
//$stringa=verifica_url("http://.palle");//???è valido, ma...
$stringa=verifica_url("http://www.pin**co_pallo.it");//???è valido, ma...
if($stringa=== FALSE){
echo "<br>non è un url valido";
}else{
echo "<br> $stringa è url valido";
}
?>
qualcuno ha delle indicazioni migliori?
p.s.
non rimandatemi a http://it.php.net/manual/en/function.filter-var.php perchè è da proprio lì che provengo