back to top

Estrarre hostname e dominio da una URL con PHP

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ร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Correggere l’errore the uploaded file exceeds the upload_max_filesize directive in php.ini

L'errore the uploaded file exceeds the upload_max_filesize directive in...

Cannot modify header information – headers already sent: come risolvere l’errore PHP

L'errore di PHP cannot modify header information - headers...

Ricavare l’estensione di un file con PHP

Quando si lavora con i file in un'applicazione web,...

GD Library: creazione, manipolazione e ridimensionamento immagini con PHP

Le librerie GD (o GD Library), sono componenti fondamentali...

PHP: impostare il fuso orario italiano

Le tue pagine PHP non mostrano l’orario corretto? Probabilmente...

5 script PHP per gestire BBCode

A volte può aversi l'esigenza di dover offrire agli...
Pubblicitร