"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 posso transformar URLs simples em uma string em hiperlinks clicáveis ​​com PHP?

Como posso transformar URLs simples em uma string em hiperlinks clicáveis ​​com PHP?

Publicado em 2024-12-21
Navegar:940

How can I turn plain URLs in a string into clickable hyperlinks with PHP?

Vinculando URLs em Strings com PHP

Vincular URLs em strings pode ser uma tarefa útil em PHP para tarefas como gerar links clicáveis ​​em texto contente. Um caso de uso comum é converter uma string simples contendo URLs em HTML com hiperlinks clicáveis.

Sintaxe:

$string = preg_replace(
  "~[[:alpha:]] ://[^<>[:space:]] [[:alnum:]/]~",
  "<a href=\"\\0\">\\0</a>",
  $string
);

Explicação:

  • Padrão Regex: O padrão usado em preg_replace corresponde a strings que começam com um prefixo de protocolo (por exemplo, " http://") seguido por um ou mais caracteres alfanuméricos, excluindo colchetes angulares e espaços em branco. Termina com caracteres alfanuméricos ou uma barra.
  • String de substituição: A string de substituição inclui marcação HTML para criar uma tag âncora () com o URL correspondente como o atributo href e o URL original como o conteúdo do texto.

Exemplo:

$input = "Look on http://www.google.com";
$output = preg_replace(
  "~[[:alpha:]] ://[^<>[:space:]] [[:alnum:]/]~",
  "<a href=\"\\0\">\\0</a>",
  $input
);

echo $output; // Output: "Look on http://www.google.com"

Versões do PHP :

Esta solução é compatível com versões do PHP anteriores à 5.3 (usando ereg_replace) e PHP 5.3 e posteriores (usando preg_replace).

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