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