Médiaforma

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

Print Friendly

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.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply