Médiaforma

PHP MySQL – Exercice sur les expressions régulières

Partagez cet article sur vos réseaux

Remplacez toutes les adresses http:// par des liens cliquables.

Voici la chaîne concernée :

$ch = "Les moteurs de recherche http://www.google.fr et http://www.bing.com sont aujourd'hui les plus utilisés.";

Solution

Faites une pause dans la vidéo et rédigez le code de l’exercice. Vous pourrez poursuivre pour comparer votre code et celui de la solution.

L’expression régulière est passée à la fonction preg_replace. Cette fonction demande trois arguments :

  • L’expression régulière utilisée pour EFFECTUER LA recherche
  • La chaîne de remplacement
  • La chaîne sur laquelle se fera le remplacement

Comme toujours, l’expression régulière est encadrée par les caractères #, au début et à la fin de la chaîne.

Pour repérer une adresse URL, nous recherchons une séquence qui commence par http:// et qui est suivie d’un nombre quelconque de caractères minuscules, majuscules, de chiffres, de points, de caractères de soulignement et de tirets.

La chaîne de remplacement contient une balise <a>. L’attribut href de cette balise est initialisé avec $1, ce qui représente la chaîne sélectionnée par l’expression régulière. Cette même expression est réutilisée à la suite de la balise <a> puis la balise <a> est fermée.

Enfin, la chaîne $ch est passée en troisième argument de la fonction preg_replace.

Deux instructions echo sont utilisées pour afficher la chaîne avant et après l’exécution de la fonction preg_replace.

 

<?php
  $ch = "Les moteurs de recherche http://www.google.fr et http://www.bing.com sont aujourd'hui les plus utilisés.";
  $ch2 = preg_replace("#(http://[a-zA-Z0-9._-]*)#", "<a href='$1'>$1</a>",$ch);
  echo "AVANT : ".$ch."<br>";
  echo "APRES : ".$ch2;
?>

Exécutons ce code dans WAMP Server. Voici le résultat. Comme vous pouvez le voir, les URL ont bien été remplacées par des liens hypertextes.

 
Commentaires

Aucun commentaire pour l'instant.

Laissez un commentaire