Sujet : [php][astuce] Preg_replace_callback
Voici une petite astuce dont j'ai eu besoin et qui m'a couté un peu de tps de blocage . Je la mets pour quiconque serait bloqué à son tour.
L'utilisation de la fonction preg_replace_callback dans une méthode de classe diffère légèrement de l'utilisation avec une simple fonction.
Prenons un exemple :
class MaClasse {
function fonction1 ( $matches )
{
...
return $var;
}
function fonction2 ( $texte )
{
$texte = preg_replace_callback( "regExpr", "fonction1", $texte );
}
}
On cherche ici à appeler la méthode fonction1 par la fonction preg_replace_callback. La syntaxe précedente est invalide car nous nous trouvons dans une classe.
Pour pouvoir utiliser la méthode fonction1 comme fonction de callback dans la méthode fonction2, il faut ecrire ceci :
$texte = preg_replace_callback( "regExpr", array(&$this, 'fonction1'), $texte);
En règle générale, la syntaxe à utiliser avec une méthode de classe est la suivante :
preg_replace_callback(pattern, array('ClassName', 'methodName'), subject)
Voilà, c'est aussi simple que cela ...encore faut-il le savoir !
Sam.
"Keyboard not detected, press a key to continue..."