Bonjour,
J'ai suivi le manuel de php.net pour essayer de me faire un petit parser html pour mon site. Cela me permet de remplacer certaines expressions d'un fichier par le resultat d'une fonction.
Le problème c'est que lorsque je passe un objet en parametre de l'execution de la fonction cela ne fonctionne pas. En revanche, si je passe un type primitif, cela fonctionne.
Voici le code correct :
En revanche si la variable $var est un objet cela ne fonctionne plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function parse($fichier) { // $var est un type primitif String $var = "chaine"; $fd = fopen( "./tpl/".$fichier, "r"); while ( !feof( $fd ) ) { $ligne = fgets( $fd ); echo preg_replace( "/CMD_([a-zA-Z0-9]*)/e", "callback('\\1','$var')", $ligne); } } function callback($fonction, $var) { return $fonction($var); }
Auriez vous une solution ?
Merci d'avance.
TOM
ps: j'ai essayé avec preg_replace_callback, mais le problème c'est que je ne peux pas du tout passer de paramètres.
Partager