Wanneer je in je
template.htm code bvb een javafunctie hebt geprogrammeerd krijg je de
foutmelding eval()'d code.
Gebruik je bvb deze javafunctie :<body onload="window.alert('laden!')">
dan dien je de code van het bestand klasse_template.php aan te passen
(zie onderstaande code).
Het teken [ ' ] wordt aldus vervangen door de php uitvoercode [ \' ].
Ook dient het [print ] bevel niet doorgegeven worden aan de php-compiler
anders wordt de tekst gewoon doorgegeven zoals hij in je basisbestand is
opgegeven.
| Code: |
function maakeindcode( $greep )
{
$code = $this->html_oud[$greep];
$eindcode = explode( "\n", $code );
$aantregels = sizeof( $eindcode );
for( $x = 0; $x < $aantregels; $x++ )
{
foreach( $this->hou_vars as $php_vars=>$replace )
// Vervang de html_vars met de echte waarden uit het php-bestand
{
//if( preg_match( "/^(.*)" . $php_vars . "(.*)$/",
$eindcode[$x] ) )
if( preg_match( " $php_vars ", $eindcode[$x] ) )
{
$eindcode[$x] = preg_replace( "{". $php_vars
."}", "\\1" . $replace . "\\2", $eindcode[$x] );
}
}
if (trim($eindcode[$x]) == "<!--"){
$eindcode[$x] = "";
$codevlag = 1;
}
if (trim($eindcode[$x]) == "-->"){
$eindcode[$x] = "<br>";
$codevlag = 0;
}
if ($codevlag == 0) {
$patroon[0] = "/'/"; // array voor meerdere patronen
$vervanging[0] = "\'"; // array voor meerdere
vervangwaarden
$eindcode[$x] = preg_replace( $patroon, $vervanging,
$eindcode[$x] );
$eindcode[$x] = 'print \'' . $eindcode[$x] . '\' .
"\\n";';
}
}
$code = implode("\n", $eindcode);
return $code;
} |
|