💡 Envie de vous mettre à PHP Orienté Objet ? En savoir plus...

Tuto PHP - La fonction preg_replace_callback() (Regex)

PrimFX PrimFX

Tutoriel dédié à la présentation de la fonction preg_replace_callback() en PHP qui permet une utilisation très pratique et puissante des expressions régulières grâce à sa fonction de retour (callback).

Code du tuto :
<?php
$erreur = '';
function urlCallback($param) {
   global $erreur;
   $checkUrl = preg_match('#imgur.com#', $param[3]);
   if($checkUrl) {
      if($param[2]) {
         $html = '<img width="'.$param[2].'" src="'.$param[3].'" style="vertical-align:middle" />';
      } else {
         $html = '<img width="100" src="'.$param[3].'" style="vertical-align:middle" />';
      }
      return $html;
   } else {
      $erreur = 'Url interdite.';
   }
}
$sujet = 'Je suis une image : [img width=500]http://i.imgur.com/ExDEzr7.jpg[/img]';
$resultat = preg_replace_callback('#\[img( width=([0-9]{1,3}))?\]([a-zA-Z0-9\.\/:\-_]+)\[\/img\]#', 'urlCallback', $sujet, -1, $count);
var_dump($count);
if($erreur) {
   echo $erreur;
} else {
   echo $resultat;   
}

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 1