Si vous désirer tester une url
méthode classique par expression régulière
function is_url($url) { $urlregex = "^(http|https|ftp)?\:\/\/"; // USER AND PASS (optional) $urlregex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // HOSTNAME OR IP $urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*"; // http://x = allowed (ex. http://localhost, http://routerlogin) //$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)+"; // http://x.x = minimum //$urlregex .= "([a-z0-9+\$_-]+\.)*[a-z0-9+\$_-]{2,3}"; // http://x.xx(x) = minimum //use only one of the above // PORT (optional) $urlregex .= "(\:[0-9]{2,5})?"; // PATH (optional) $urlregex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"; // GET Query (optional) $urlregex .= "(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?"; // ANCHOR (optional) $urlregex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?\$"; return eregi($urlregex, $url)?true:false; }
http://www.osticket.com/forums/showthread.php?t=184

utilisation de parse_url de php (qui pourrait permettre un check rapide du username si vous le désirez) function is_url($var) { $var = @parse_url($var); return eregi('^(http|https|ftp)$', $var[scheme]) && is_hostname($var[host]) ? true : false; }
http://code.google.com/p/creovel/

Juste pour du http / https
function is_url($url) { if ($url == ""){ return (TRUE); }
return preg_match ("/^(http|https):\/\/((?:[a-zA-Z0-9_-]+\.?)+):?(\d*)/", $url); }
https://gosa.gonicus.de

---8<-----------------------8<--- flooder ou ne pas flooder |