2017-07-28 1 views
0

Actuellement, je suis en utilisant ce code pour obtenir le nom de domaine (sans www ou domaine se terminant comme .com.):obtenir le nom de domaine de lien avec une méthode rapide et fiable

explode('.', $url)[1]; 

En raison du fait que cette le code est dans une boucle, il faut beaucoup de temps pour le gérer. En outre, il ne peut pas obtenir "exemple" de http://example.com/asd/asd.asd.html. Y at-il un autre et plus rapide façon de résoudre ce problème?

Merci pour toute réponse à l'avance!

meilleures salutations

+0

http : //php.net/parse_url –

+0

il ne peut pas isoler www. ou des terminaisons de domaine ... – redsunset

+0

avez-vous essayé la réponse de [this] (https://stackoverflow.com/questions/16027102/get-domain-name-from-full-url) question? – Sina

Répondre

0

utilisation parse_url()

$host = parse_url($url, PHP_URL_HOST); 

PHP_URL_HOST retourne l'hôte

De plus, utilisez un Regex pour obtenir la partie souhaitée de l'hôte:

$result = preg_match('/^(?:www\.)?([^\.]+)/', $match); 
+0

merci! mais cela ne gère pas le problème de nom de domaine – redsunset

+0

merci! un ajout pour les sous-domaines? – redsunset

+0

De rien! Le problème est: Sous-domaines par rapport aux domaines comme .com.au. Ce n'est pas facile à gérer. Vous pouvez avoir un domaine comme: www.example.com ou subdomain.example.com ou example.com.au ou subdomain.example.com.au. Ce n'est pas gérable par cet imho facile. – Bernhard