Correspondência de URLs com prefixos HTTP e WWW opcionais
Expressões regulares são ferramentas poderosas para tarefas complexas de correspondência de padrões. Quando se trata de URLs correspondentes, muitas vezes há variações no formato, como se inclui “http://www”. prefixo ou não.
Solução usando expressão regular
Para corresponder URLs com ou sem o "http://www." prefixo, a seguinte expressão regular pode ser usada:
((https?|ftp)://)? ([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)? ([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) (:[0-9]{2,5})? (/([a-z0-9 $_%-]\.?) )*/? (\?[a-z &\$_.-][a-z0-9;:@&%= /$_.-]*)? (#a-z_.-][a-z0-9 $%_.-]*)?
Detalhamento da expressão:
Exemplo de uso
Para verificar se uma determinada string corresponde à expressão regular, use a seguinte sintaxe:
if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))
Isso retornará TRUE se a string corresponder ao padrão de URL com ou sem o "http:/ /www." prefixo.
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