htmlspecialchars()

  • Hi,

    ich habe mal wieder eine Frage zu PHP:

    Ich habe nun ziemlich lange nach eine Möglichkeit gesucht, die Ausgabe von geparstem HTML Code aus einem Textfeld zu unterbinden. Es geht hier ebenfalls um das Gästebuch, bei dem ich neulich Hilfe brauchte, dort würde ich gerne verhindern, dass, wenn ein Besucher html Code eingibt, dieser auch geparst wird.

    Ich weíß, dass das irgendwie mit htmlspecialchars() gehen muss, nur habe ich zum Beispiel keine Ahnung, wie der string in den Klammern genutzt werden soll?

    Es wäre echt super, wenn mir jemand helfen könnte und erklären, wie ich allen HTML Code in einem Textfeld ungeparst ausgeben lassen kann, sprich in Textform.

    Vielen Dank und

    MfG Alienx

  • $text ist der text der zurückgegeben werden soll z.b.:
    aus
    <hallo>
    wird im quelltext
    &lt;hallo&gt;
    wobei bei obigen beispiel dann <hallo> die variable $text sein müsste

    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC ;)

  • Ah,

    vielen Dank Greg,

    ich habe es jetzt verstanden und auch hinbekommen.

    Bei HTML Code wird der ja nun einfach nicht geparst, also wird nur der enthaltene Text ausgegeben, aber, wenn ich jetzt z.B. einen PHP Code poste, bekomme ich folgenden Error, welcher dann auch permanent stehen bleibt, wodurch die ganzen anderen Nachrichten im Gästebuch nicht mehr angezeigt werden:

    Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/www/web48/html/alienx/msgs.txt on line 3

    Parse error: syntax error, unexpected $end in /home/www/web48/html/alienx/msgs.txt on line 8


    Wie, kann ich gleichzeitig verhindern, dass PHP Code geparst wird UND, dass dieser Error nicht auftaucht?

    EDIT:

    Habe jetzt doch noch ein zweites Problem. Und zwar möchte ich über htmlentities keinen String, sondern den Inhalt einer Datei zurückgeben.

    Habe dazu folgenden Code genommen:

    Code
    $messages = 'msgs.txt';
    
    
    echo htmlentities($messages);

    Nur wird so leider immer der Datenstring ''msgs.txt'' ausgegeben, obwohl doch eigentlich, wie oben definiert, dort der Inhalt stehen sollte.

    Weißt du, wie ich das beheben bewerkstelligen kann, dass auch der Inhalt angezeigt wird?

    EDIT2: EDIT1 hat sich erledigt, habe selbst eine Lösung gefunden. :)


    MfG Alienx