"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como extrair nomes de domínio raiz de subdomínios em PHP?

Como extrair nomes de domínio raiz de subdomínios em PHP?

Publicado em 2024-11-25
Navegar:159

How to Extract Root Domain Names from Subdomains in PHP?

Extraindo nomes de domínio de subdomínios em PHP

Em PHP, obter o nome de domínio raiz de um subdomínio é uma tarefa comum. Considere um cenário em que você encontra variáveis ​​como estas:

here.example.com
example.com
example.org
here.example.org

Você pretende transformar esses valores em seus nomes de domínio raiz, como example.com ou example.org. Para conseguir isso, é necessária uma função bem elaborada.

Solução

O trecho a seguir demonstra uma função chamada get_domain() que extrai efetivamente o nome de domínio raiz:

function get_domain($url)
{
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}

Esta função utiliza a função integrada parse_url() para quebrar o URL e recuperar o componente host. Posteriormente, ele emprega uma expressão regular para validar e extrair o nome de domínio raiz, garantindo que ele siga as convenções comuns de nomenclatura de domínio.

Ao chamar get_domain() com o URL desejado, você pode isolar facilmente o nome de domínio raiz :

print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'

Nos casos em que o URL não está em conformidade com estruturas de domínio aceitáveis, a função lida normalmente com esses casos extremos retornando false.

Declaração de lançamento Este artigo foi reimpresso em: 1729555699 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3