html in eval()

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • html in eval()

    Hallo,

    also ich habe mich mal bisschen mit der eval() funktion auseinander gesetzt weil ich in der DB ne spalte habe mit Text wo Variabeln mit drinne sind.
    Soweit auch kein Problem bei zb.:

    Quellcode

    1. $text = 'Test $var_1 und $var_2.'; //DB Inhalt
    2. eval ( "\$text = \"$text\";" );
    3. echo $text;

    soweit gibt er mir die Variabeln auch gut aus nun kommt aber zb.:

    Quellcode

    1. $text = '<fieldset><legend>Ausgabe</legend>Test $var_1 und $var_2.</fieldset>'; //DB Inhalt

    Er will das HTML nicht erkennen ggf er ignoriert es einfach. wie kann ich das umsetzen das er das richtig ausgibt?
  • Die Variablen nimmt er 1a es geht imir eher darum das er den HTML code mit nutzen soll.
    Zb.: habe ein text in der DB im Text sind 2 Unterschiedliche Variablen die öfters vorkommen. Soweit so gut nimmt er das auch und gibt die Variable auch aus!
    nun will ich aber im text der in der DB steht zusätzlich das er HTML nutzt. Sprich wenn ich in der Db zb eine tabelle (<table><tr></td></td></tr></table>) mit reinschreibe das er mir diese auch aufbaut und nicht einfach den HTML code ignoriert.

    Kurz gesagt der text alleine auszugeben sieht mist aus und ist nicht in meinen Interesse :D nur fällt mir keine andere lösung ein das zu Regeln.
    Komplette Text ist in einer DB spalte. Nun soll er bei der ausgabe mit ein wenig HTML ansprechender gestaltet werden ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von sintains ()

  • Stehe ich gerade auf dem Schlauch oder haben wir zwei vollkommen verschiedene Gedankengänge? Sry, aber ich verstehe dein Problem immer noch nicht.
    Du hast also reinen HTML Code (das heißt, dass er nicht mittels &lt; und &gt; maskiert wurde) in deiner Datenbanktabelle. Diesen liest du aus und schickst ihn mittels echo an den Browser, oder?
    Könnte es vllt. sein, dass du irgendwo htmlentities() oder htmlspecialchars() benutzt und somit dein HTML Code in deiner Datenbank maskiert wurde? Somit siehst du später im Browser Konstrukte wie <table>...</table>.
    Könntest du vielleicht auch mal den Quellcode, der im Browser angezeigt wird, posten. Also nicht der Code im Fester, sonder der, der in Ansicht->Seitenquelltext anzeigen (im Firefox) angezeigt wird?
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • HiHo,

    Hoer mal ein Code den ich in einem früheren Projekt ebenfalls in die DB schreiben lies und mit eval() Problemlos ausgelesen bekommen habe.
    Dort kommt auch HTML als auch Variablen vor. Vieleicht hilft es dir ja weiter.

    <?PHP
    $tpl_buttons .= \\\'<li><a href="index.php?mode=portal"><img src="template/images/icon_home.png" class="ttlmicon" alt="Portal" title="" /> Portal</a></li>\\\';
    ?>
  • Sry wenn ich mich so konfus ausdrücke.

    Also das Problem hat sich wohl erstmal erledigt da schinbar noch andere Probleme auftretten. Aber dennoch wäre es interessant zu wissen ob es geht.
    Config:

    Quellcode

    1. $var_1='Seitenname';
    2. $var_2='besitzer';

    DB:

    Quellcode

    1. tabelle: einstellung
    2. Spalte "regeln": [i]<b>Hallo</b> ich bin der $var_2 von $var_1[/i]

    Code:

    Quellcode

    1. $text //DB Inhalt
    2. eval ( "\$text = \"$text\";" );
    3. echo $text;

    ausgabe sollte sein:
    Hallo ich bin der Besitzer von Seitenname

    aber er ignoriert das beispiel hier <b> vollkommen im text. womit das Hallo hier nicht Fettgeschrieben wird.