Maison > développement back-end > tutoriel php > Comment lier des URL dans une chaîne en utilisant PHP ?

Comment lier des URL dans une chaîne en utilisant PHP ?

DDD
Libérer: 2024-10-28 03:06:02
original
623 Les gens l'ont consulté

How to Linkify URLs in a String Using PHP?

Lier des URL dans une chaîne à l'aide de PHP

Lorsque vous traitez des chaînes contenant des URL, il est souvent souhaitable de transformer ces URL en hyperliens cliquables . Ceci peut être réalisé grâce aux capacités étendues de manipulation de chaînes de PHP.

Considérez la chaîne suivante :

"Look on http://www.google.com".
Copier après la connexion

L'objectif est de convertir cette chaîne en :

"Look on <a href="http://www.google.com">http://www.google.com</a>"
Copier après la connexion

Solution

PHP fournit plusieurs méthodes pour rechercher et remplacer des modèles dans des chaînes. Pour lier les URL dans une chaîne, nous pouvons utiliser le code suivant :

<code class="php">$string = "Look on http://www.google.com";
$string = preg_replace(
    "~[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]~",
    "<a href=\"\0\">\0</a>", 
    $string
);</code>
Copier après la connexion

Ce code utilise des expressions régulières pour identifier les URL valides dans la chaîne. Le modèle ~[[:alpha:]] ://[^<>[:space:]] [[:alnum:]/]~ recherche les chaînes commençant par le protocole "http", suivies d'un domaine ou une adresse IP, et se terminant par une barre oblique ou un autre caractère alphanumérique.

Une fois qu'une URL correspond, elle est remplacée par une chaîne qui inclut une balise d'ancrage HTML () avec l'URL comme attribut href. La séquence \0 est utilisée comme espace réservé pour l'URL correspondante.

Note de compatibilité

Le code fourni prend en charge les versions PHP 5.3 et supérieures. Pour les versions inférieures à 5.3, remplacez preg_replace par ereg_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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal