Andreas: Wie realisiere ich ein farbiges Quoting ?

Beitrag lesen

Hallo liebe Forumsgemeinde,

aus reinen Lernzwecke habe ich in der letzten Zeit ein Forum auf Basis von PHP und MySql entwickelt (ja, ich weiß, daß es da schon fertige Alternativen wie Phorum und so gibt :-)). Die von mir gewünschte Funktionalität konnte ich so weit umsetzen, bis auf das Quoting.

Meine Vorstellung:
Das Quoting sollte so wie hier im Forum funktionieren. Antworte ich auf ein Posting, wird der Originaltext meines Vorredners dann bei der Anzeige meines Postings farbig dargestellt und zusätzlich noch dieser Pfeil "»" davorgesetzt.

Mein 1.Ansatz:
Die 1. Nachricht im Thread wird ganz normal gespeichert. Schaut sich nun einer die Nachricht an, steht unterhalb der Nachricht ein Formularfeld, welches die Nachricht nochmal enthält (zum Antworten). Diese Nachricht wird so umformatiert, daß die Zeilenumbrüche durch Zeilenumbruch+» ersetzt werden.
Möchte nun jemand antworten, löscht er die Zeilen aus, die er nicht will und schreibt seine Antwort rein. Beim Absenden werden nun zwischen den Zeichen » und einem Zeilenumbruch ein selbstdefiniertes Tag <quote> eingefügt. Dieses Tag soll den Originaltext kennzeichen. Bei der Anzeige der Nachricht wird dann <quote> durch ein entsprechendes <span style="..."> ersetzt.
Ergebnis:
Die Originalnachricht ist weiß, der Antworttext schwarz.

Beispiel:

Originalnachricht:
Hallo wie geht's ?\n

Formularfeld:
»Hallo wie geht's\n
Mir geht's gut

in der Datenbank:
<quote>Hallo wie geht's</quote>
Mir geht's gut

im Forum:
<span style="...">Hallo wie geht's</span>\n
Mir geht's gut\n

Problem:
Die originalnachricht wird ohne Zeilenumbrüche eingegeben, da das Forumularfeld automatisch umbricht:

Originaltext:
Dieser Text wir im Formularfeld automatisch, also
ohne Return umgebrochen\n

Formularfeld:
» Dieser Text wir im Formularfeld automatisch, also
\n
Antworttext\n
\n
ohne Return umgebrochen\n
\n
Antworttext\n

Datenbank:
<quote>Dieser Text wird im Formularfeld automatisch, also</quote>
Antworttext
ohne Return umgebrochen
Antworttext

-> "ohne Return umgebrochen" wird damit nicht mehr als Teil der Originalnachricht identifiziert.

So, wer hat einen besseren Lösungsvorschlag ? Hier in diesem Forum funktioniert es ja auch irgendwie. Wahrscheinlich gibt es noch einen viel besseren Lösungsansatz.
Auf jeden Fall danke ich schon mal dejenigen, der bis hier vogedrungen ist und versucht hat meinen wirren Gedankengänge zu folgen :-).

Gruß,
Andreas