eval() die zweite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • eval() die zweite

    Hi

    bezugnehmend auf diesen Thread: http://www.php-resource.de/forum/sho...threadid=23742 möchte ich nochmal eine Frag stellen:

    Wenn ich einen String habe, der ungefähr so aussieht:

    PHP-Code:
    <html>

    <
    head>
    <
    title>Ich bin ein Test</title>
    </
    head>
    <
    body>
    <
    table width="100%" border="1" cellpadding="4" cellspacing="4">
     <
    tr>
      <
    td width="150">
       [
    TEMPLATE]TEMPLATE_MENUE[/TEMPLATE]
      </
    td>
      <
    td>
       
    CONTENT
      
    </td>
     </
    tr>
    </
    table>
    </
    body>
    </
    html
    So: Die Templates die ich hier einbinden (inhalte werden aus datenbank gelesen) werden korrekt eingefügt. Nur das HTML Gerüst und die Tabelle werden nicht eingezeigt.

    PHP-Code:
    eval (' ?' '>' $show_replace['TEMPLATES_TEMPLATE'] . '<' '?php '); 
    So gebe ich den Text aus....

    ;(

    was muss ich tun, dass das alles funktioniert?
    __________________________
    __________________________

  • #2
    Vielleicht htmlspecialchars benutzen, um die < in HTML-Code zu verwandeln. Ist allerdings nur eine Vermutung.

    Kommentar


    • #3
      Hi,
      ich schätze mal das in $show_replace['TEMPLATES_TEMPLATE']
      der content steht..

      warum benutzt du nicht str_replace() ?

      damit würde das viel leichter funktionieren!

      hier der code:
      PHP-Code:
      // zum Testen ein wenig Inhalt...
      $show_replace['TEMPLATES_TEMPLATE'] = "ein wenig Inhalt zum testen!!!";

      // der String der nachher geparst wird
      $html_string = <<<EOF
      <html>
      <head>
      <title>Ich bin ein Test</title>
      </head>
      <body>
          <table width="100%" border="1" cellpadding="4" cellspacing="4">
          <tr>
          <td width="150">[TEMPLATE]</td>
          <td>CONTENT</td>
          </tr>
          </table>
      </body>
      </html>
      EOF;

      // Platzhalter ersetzen
      $html_output str_replace("[TEMPLATE]"$show_replace['TEMPLATES_TEMPLATE'] , $html_string);

      // Seite zum Test anzeigen
      echo $html_output
      es kommt drauf an ob du html und php code benutzt?
      ansonsten kannst du einfach mit dem eval(); befehl den aktiven code ausführen und dann mit strip_tags() den code vor der ausgabe säubern.

      Schöne Grüße Bo
      Zuletzt geändert von bo2k; 04.08.2003, 01:52.

      Kommentar

      Lädt...
      X