[HTML] HTML-Befehle als Klartext ausgeben

Chichu McNugget

nicht mehr wegzudenken
HTML-Befehle als Klartext ausgeben

Hallo,

ich habe für meine Homepage ein Newssystem entwickelt. Ich möchte den Usern die Möglichkeit geben, ihre Eingaben mit Hilfe von HTML-Befehlen zu verschönern. Leider sind nicht alle potenziellen User mit den gängigen HTML-Befehlen vertraut. Deshalb möchte ich eine Art Befehlssammlung bereit stellen.
Wie stelle ich es jetzt an, dass der Browser z.B. <h3></h3> nicht als html sondern als Text erkennt.????
 
Das Newssystem soll ja mit PHP funktionieren, oder?

Üblicherweise wird hierfür ein Ersatzcode bereitgestellt. Hier im Board HTML auch nicht freigegeben. Stattdessen gibt es den vb-Code.
Angenommen du erstellst eigenen Code wie z.B. {b} für <b>. Kannst du ihn einfach mit str_replace ersetzen. Das kannst du entweder statisch mit jedem Befehl machen oder alle in eine Datenbank schreiben und sie zu gewünschter Zeit herauslesen.
Um die HTML-Code abzufangen kannst du verschiedene Befehle verwenden. Einer ist z.B. htmlspecialchars. Dieser wandelt z.B. '<' in '&lt', '>' in '&gt', etc...
 
Also <pre> geht schon mal nicht. Hab ich nämlich gleich probiert.

Das Newssystem funzt mit PHP und MySQL.
Gibt es keinen Befehl, der das HTML einfach ignoriert und nichts davon umwandelt????
 
Was heißt ignorieren? Soll <b>Test</b> so <b>Test</b> oder Test ausgegeben werden. Soll der Anwender also HTML verwenden dürfen oder nicht?

Wenn er es darf brauchst du gar nichts machen, wenn nicht verwendest du wie schon erwähnt htmlspecialchars.

Also statt echo $newsbeitrag; verwendest du echo htmlspecialchars($newsbeitrag);
 
Also Netzhai hat genau das gefunden, was ich gesucht habe.
Ich habe mich vielleicht auch unglücklich ausgedrückt.

Der User darf bei eingabe eines Textes natürlich HTML-Befehle nutzen. Er muss es sogar.
Da aber nicht alle User die HTML-Befehle können, wollte ich eine kleine Übersicht erstellen.
Nur da der Browser <h3></h3> so nicht darstellt sondern einen HTML-Befehl erkennt konnte ich keinem erklären was das bedeutet da es ja nicht angezeigt wird.
 
Sollte aber jeder halbwegs brauchbare HTML-Editor von sich aus anbieten, denn es ist ja durchaus möglich, dass jemand var1<var2 darstellen will.

Trotzdem rate ich zur Verwendung eines alternativen Formatierungscodes, da man mit fehlerhaften HTML einiges im Layout zerschießen kann.
 
Du solltest Dir Pennys Rat zu Herzen nehmen, mit HTML kanns ganz schnell und böse Schiffbruch geben... ;) vorallem wenn User sich so prima damit auskennen... wie gesagt ist nur ein wohlgemeinter Rat von uns, die Entscheidung liegt bei Dir :)
 
Oben