Problem bei der exakten Ausgabe (Textarea)

LoMo

Erfahrenes Mitglied
Hi @ all,

ich hab wiedermal ein kleines aber sehr nervendes Problem :D. Ich hab ein Formular welches ich in einer Datenbank speichere. Die Eingabe gebe ich an einen späteren Zeitpunkt exakt so aus wie es erfasst wurde. (Problem ^^)

Mein Problem ist das er bei der Ausgabe den Text nicht so gestaltet, wie er erfasst wurde. z.B. ignoriert er Zeilenumbrüche, Taabs usw.......

Gibts da irgend ne Funktion oder ähnliches welche des macht ? Ich verwende im moment nl2br aber er macht trotzdem keine Zeilenümbrüche .......

Nochmal kurze Zusammenfassung:
-> Formular Eingabe
-> Speicherung in Tabelle. Textarea wir in mediumtext gespeichert (der Inhalt XD)
-> Ausgabe in HTML Format


Edit: Eine Frage hätte ich noch. Was könnte ich bei der Eingabe machen um <script> eingaben und mögliche Codes zu unterbinden ?

pls help....

mfg
 
Zuletzt bearbeitet:
Prinzipiell solltest du die Eingaben in Rohform in der Datenbank speichern und erst für die Ausgabe formatieren. Dies scheint zwar auf den ersten Blick ineffizient, da die Formatierung jedes Mal zur Ausgabe statt nur ein Mal zur Eingabe formatiert werden müssen. Dies hat jedoch den Vorteil, dass die Formatierung jeder Zeit angepasst werden kann, ohne dass die Rohdaten manipuliert werden müssen.

Um HTML-Tags zu entfernen gibt es die strip_tags()-Funktion (der zweite Parameter erlaubt auch die Angabe erlaubter Tags, die nicht entfernt werden sollen). Die HTML-Schlüsselzeichen könnten aber auch einfach nur „entschärft“ werden, indem sie mithilfe der htmlspecialchars()-Funktion durch Zeichenreferenzen ersetzt werden.
 
Ok danke des mit der Ausgabe klappt so optimal.

Allerdings gibt es bei den anderen ein Problem. HTML soll vollständig unterstüzt werden es sollen nur Scriptsprachen bzw. alles andere als HTML nicht ausgeführt werden. Achja Frames sollen auch noch entfernt werden aber an sonsten alles.

Ich weiß noch nicht ganz wie ich des anstellen soll ausser ich mach ne Datenbanktabelle mit allen Zeichen, welche eraubt sind und löse das ganze mit strip_tags.

wenn ich HTML und PHP komplett sperre übernimmt er dann eigentlich trotzdem die Zeilenumbrüche und Leerzeichen aus den Text ? Falls ja könnte ich eigentlich auch komplett auf HTML verzichten. Dann gibts halt kein komfort XD.

mfg
lomo
 
Zeilenumbrüche (Steuerzeichen) sind nicht gleich Zeilenumbrüche (HTML). Denn in HTML werden so genannte mehrfach aufeinanderfolgende Whitespace-Zeichen sowie Zeilenumbruchzeichen generell ignoriert.

Was genau versuchst du denn zu realisieren?
 
Ich wollte Benutzern die möglichkeit gewähren eine kleine Präsentationsseite zu generieren.

Wenne jemand auf einen Erfassten Nutzer klickt werden Informationen über ihn ausgegeben (Geschlecht, Name....), Bilder und noch ein Feld wo weitere Information zur Verfügung gestellt werden können. Ich wollte die Möglichkeit geben, dass dieses Feld HTML-Code aucht umfassen kann, damit der Nutzer z.B. eine kleine Präsentationsseite über seine Hobbys erstellen kann mit Bildern, Links und Formatierungen. Auch Tabellen sollen zur Justierung genutzt werden können.

Dieses Feld kann man ungefähr mit Signaturen vergleichen, welche HTML unterstützen.

Ich hoffe ich konnte es ungefähr erklären ^^

mfg
lomo
 
Bei soetwas besteht immer die Gefahr, dass der Benutzer auch das Gerüst selbst zerstört, indem Elemente – beispielsweise das body- oder html-Element – zu vorschnell geschlossen werden. Unterbinden könntest du dies, indem nur XML-konforme Eingaben erlaubt sind.
 
Ich guck mal was sich machen lässt. Vielen Dank für Hilfe

Falls ich eine sichere und akzeptable Lösung finde post ich sie

mfg
lomo
 
Zurück