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".
L'objectif est de convertir cette chaîne en :
"Look on <a href="http://www.google.com">http://www.google.com</a>"
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>
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!