Grazie alla funzione parse_url() di PHP รจ possibile analizzare in un battibaleno le URL ed eseguire, automaticamente, una serie di operazioni altrimenti complesse. Grazie a questa funzione, ad esempio, รจ possibile estrarre l’hostname da una URL complessa. Ecco un esempio:
$url = "http://www.mrw.it/php/estrarre-dominio-da-url.html";
$hostname = parse_url($url, PHP_URL_HOST);
echo $hostname;
// output: www.mrwebmaster.it
Qualora si desideri estrarre solo il dominio (nel nostro esempio “mrwebmaster.it” senza il www) bisognerร ricorrere ad una funzioncina ad hoc:
function dominio($url) {
$purl = parse_url($url);
$temp = isset($purl['host']) ? $purl['host'] : '';
if (preg_match('/(?P<dominio>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $temp, $regs)) {
return $regs['dominio'];
}else{
return false;
}
}
$url = "http://www.mrw.it/php/estrarre-dominio-da-url.html";
$dominio = dominio($url);
echo $dominio;
// output: mrw.it
Lo scopo della funzione vista sopra, ovviamente, non consiste solo nel togliere il www (operazione per la quale basterebbe str_replace()) ma anche (e soprattutto) ridurre al secondo livello le URL di terzo livello come, ad esempio, “forum.mrw.it”.
Pubblicitร