8
votes

Supprimer l'extension de domaine

Alors disons que j'ai juste-a.domain.com, jus-a-domain.info, juste.a-domain.net Comment puis-je supprimer l'extension .com, .net.info ... et j'ai besoin des résultats en deux variables, un avec le nom de domaine et un autre avec l'extension.

J'ai essayé avec str_replace mais ne fonctionne pas, je suppose qu'avec regex ....


1 commentaires

Quelles parties devraient-elles revenir sur www.google.co.uk?


5 Réponses :


-1
votes
strrpos($str, ".")
Will give you the index for the last period in your string, then you can use substr() with the index and return the short string.

0 commentaires

10
votes
$result[0] == 'just-a.domain';
$result[1] == '.com';

2 commentaires

fonctionne, mais uniquement pour les domaines avec un point dans l'extension. Par exemple. pour ".com.br" ça ne fonctionnera pas.


@almo Obtenez le résultat en utilisant le script puis diviser le résultat :)



12
votes
Array
(
    [0] => google.com
    [1] => google
    [2] => .com
)
Array
(
    [0] => google.in
    [1] => google
    [2] => .in
)
Array
(
    [0] => google.co.in
    [1] => google
    [2] => .co.in
)
Array
(
    [0] => google.info
    [1] => google
    [2] => .info
)
Array
(
    [0] => analytics.google.com
    [1] => analytics.google
    [2] => .com
)

0 commentaires

8
votes

Si vous souhaitez supprimer la partie du domaine administré par des bureaux d'enregistrement de nom de domaine, vous devrez utiliser une liste de tels suffixes comme La liste de suffixe publique .

Mais depuis une promenade dans cette liste et tester le suffixe sur le nom de domaine n'est pas si efficace, utilisez plutôt cette liste uniquement pour créer un index comme celui-ci: xxx

rechercher le meilleur match irait alors comme ceci: xxx

ou construire un arbre qui représente la hiérarchie des niveaux de nom de domaine Comme suit: xxx

Vous pouvez ensuite utiliser ce qui suit pour rechercher la correspondance: xxx


0 commentaires

2
votes

regex et parse_url () ne sont pas une solution pour vous.

Vous avez besoin d'un package qui utilise Liste de suffixe publique , uniquement de cette manière, vous pouvez extraire correctement les domaines avec des TLD à deux, troisième niveau (CO.UK, A.BG, B.BG, etc.). Je recommande d'utiliser extrait TLD .

Ici, exemple de code: xxx


0 commentaires