Maison >développement back-end >tutoriel php >Comment puis-je transformer des URL simples dans une chaîne en liens hypertextes cliquables avec PHP ?

Comment puis-je transformer des URL simples dans une chaîne en liens hypertextes cliquables avec PHP ?

DDD
DDDoriginal
2024-10-26 12:22:29676parcourir

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

Lier des URL dans des chaînes avec PHP

La liaison d'URL dans des chaînes peut être une tâche utile en PHP pour des tâches telles que la génération de liens cliquables dans du texte contenu. Un cas d'utilisation courant consiste à convertir une chaîne simple contenant des URL en HTML avec des hyperliens cliquables.

Syntaxe :

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

Explication :

  • Modèle Regex : Le modèle utilisé dans preg_replace correspond aux chaînes commençant par un préfixe de protocole (par exemple, "http://") suivi d'un ou plusieurs caractères alphanumériques, à l'exclusion des crochets angulaires et espace blanc. Elle se termine par des caractères alphanumériques ou une barre oblique.
  • Chaîne de remplacement : La chaîne de remplacement inclut un balisage HTML pour créer une balise d'ancrage () avec l'URL correspondante comme attribut href et l'URL d'origine comme contenu texte.

Exemple :

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

echo $output; // Output: "Look on <a href=\"http://www.google.com\">http://www.google.com</a>"</code>

Versions PHP :

Ceci La solution est compatible avec les versions PHP antérieures à 5.3 (en utilisant ereg_replace) et PHP 5.3 et ultérieures (en utilisant preg_replace).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn