pb eval pour le code php dans une feuille xslt
bonsoir,
j'ai lu le tutoriel de bob super intéressant
mais j'ai un souci pour évaluer du code php placé dans la feuille de style xsl
article.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
<?php
$xh = xslt_create();
$file = fopen("source.xml","r");
$xml = fread($file,16384);
fclose($file);
$file = fopen("article.xsl","r");
$xsl = fread($file,16384);
fclose($file);
$xslt_params["id"] = (isset($_GET['id']) ? $_GET["id"] : 1);
$arguments = array(
'/_xml' => $xml,
'/_xsl' => $xsl
);
$resultat = xslt_process($xh,'arg:/_xml','arg:/_xsl',NULL,$arguments,$xslt_params);
xslt_free($xh);
$resultat=str_replace("<php>","<?php",$resultat);
$resultat=str_replace("</php>","?>",$resultat);
$chaine = '"?".chr(62).$resultat.chr(60)."? "';
$resultat= eval("$chaine");
include("accueil.html");
?> |
extrait de article.xsl
Code:
1 2 3 4 5
|
<xsl:if test="$cpos = $id">
<div align="center">notre cours . <php> echo "test"; </php></div>
<table> etc..... |
et l'erreur qui me prend la tête :x
Code:
1 2 3
|
Parse error: parse error, unexpected $ in c:\program files\easyphp\www\xmlphp\article.php(30) : eval()'d code on line 1 |
Je ne vois pas pourquoi ça ne marche pas :(
Si vous avez d'autres alternatives, je suis preneur.
Merci pour une éventuelle aide.
Re: pb eval pour le code php dans une feuille xslt
dans ton code là tu mets "<?" au lieu de "<?php" pour le début du code
Code:
1 2
| $chaine = '"?".chr(62).$resultat.chr(60)."? "';
$resultat= eval("$chaine"); |
tu peux faire ça directement à la place:
Code:
$resultat = eval("?>$resultat<?php ");