Médiaforma

PHP MySQL – Exercice – Plus loin avec preg_replace

Print Friendly

Supposons maintenant que vous vouliez transformer en lien les adresses qui commencent par http://, https:// et ftp://.

Voici la chaîne à transformer :

$ch="Les URL http://www.mediaforma.com, mais aussi https://google.fr et
ftp://ftp.cdrom.com peuvent être transformés en des liens cliquables.";

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.

Le code est identique à celui de l’exercice précédent. Seule l’expression régulière change.

Ici, la chaîne recherchée peut commencer par http, https ou ftp.

Le point d’interrogation après https indique que le caractère s est facultatif. https? Peut donc sélectionner la chaîne http ou https. La barre verticale est un OU logique. L’expression recherchée pourra donc être http, https ou ftp.

Cette chaîne doit être suivie du caractère :, de deux slash et d’une chaîne composée de caractères minuscules ou majuscules, de chiffres, de points, de caractères de soulignement et/ou de tirets.

<?php
  $ch="Les URL http://www.mediaforma.com, mais aussi https://google.fr et
  ftp://ftp.cdrom.com peuvent être transformés en des liens cliquables.";
  $ch2 = preg_replace("#((https?|ftp)://[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 de type http et https et les adresses FTP 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