Home Back
     
 

 

 

Basismap Intra- Internet programmeren
Categorie Programmeren Foutmelding eval()'d code
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;
    }
 

Copyright (c) 2005 :: willems piet