execCommand() vor Abschicken noch parsen?

pHyro

bla
Hiho,

folgene Situation: Ich wollte auf meiner neuen Seite für Newseinträge und Forum usw. die öde Textbox durch ein Div mit contentEditable-Atrribut erzetzten.
Nun hab ich mich auch ein paar schöne Buttons mit document.execCommand() gebastelt zum Fettschreiben, Unterstreichen, Links setzten etc. Der Inhalt des Divs wird vor dem Absenden ein ein hidden-field übergeben damit ich den Kram auch in PHP nutzen kann :p.
Auf der Folgeseite sollte dann der Kram mit dem ReMarkableparser (http://camendesign.com/code/remarkable) geparst werden (<text (adresse)> wird zu <a href="adresse">text</a>).
So.
Lange Rede kurzer Sinn: Haltet ihr es für sinnvoll die <a>-Elemente (die ja durch execCommand("CreateLink") eingefügt werden) per Javascript vor dem Absenden in die Form <bla.de (blub)> zu parsen, auf der Folgeseite in die Datenbank zu schreiben und beim Aufrufen dann halt immer in HTML-Code zu parsen? Sicherer wäre es ja allemal...

Lg

PS: Hoffe ich hab den richtigen Bereich erwischt :p Sind ja einige Komponenten beteiligt :suspekt:
 
Zuletzt bearbeitet:
Da gibt es im allgemeinen folgende Gesichtspunkte:

Wenn du den Code so in die DB einträgst, wie er später ausgegeben werden soll, bietet das den Vorteil, dass er nicht bei jeder Ausgabe verarbeitet werden muss. Der Nachteil wird jedoch sichtbar, wenn etwas geändert werden soll, dann muss fertiger HTML-Code in die von deinem CMS verwendete Syntax umgewandelt werden, was recht kompliziert werden kann. Besonders problematisch wird es, wenn du etwas an den Einstsellungen deines Forums ändern willst.

Mal umgesetzt auf unser Forum hier mit den BB-Codes:

Aus [b]fetter Text[/b] wird <b>fetter Text</b>

Wenn das so in der DB gespeichert werden würde, später aber es mal dahin geändert werden soll, dass bspw. <strong>fetter Text</strong> daraus werden soll, müsste die komplette DB umgekrempelt und geparst werden...schier unmöglich.

Bei dem simplen Beispiel wäre es noch halbwegs verkraftbar, aber wenn sich bspw. einen etwas komplizierteren Code anschaut:

[code]Testcode[/code]

Daraus macht die Forensoftware jenes:
Code:
<div class="highlight">

            
            
              <table border="0" cellpadding="0" cellspacing="0">
                <tbody>
                  <tr>
                  <th colspan="2">
                    <strong onclick="TT_select_code(this,0)" class="language">Code:</strong>
                  </th>
                </tr>
                <tr>

                  <td>
                   	<pre class="geshi" style="height: 34px;">Testcode</pre>
                  </td>
                </tr>
               </tbody>
              </table>
            
          </div>

Stell dir vor, bei einer Änderung müssten unsere 1,2Mio Postings daraufhin geparst werden, vielleicht noch mit Syntaxhighlight und verschachtelt in Zitaten :suspekt:

Eine Möglichkeit wäre evtl. noch, Beiträge in 2 Versionen abzuspeichern, ungeparst zur Ausgabe und geparst zur Bearbeitung....das würde die DB natürlich etwas anwachsen lassen :-)

Aber im Grunde genommen musst du dich entscheiden, was dem Server in Zukunft mehr abverlangen wird:
Das geparste Speichern und Umwandeln bei jeder Ausgabe, oder aber das ungeparste Speichern verbunden mit der Aussicht, später nur mit immensem Aufwand Änderungen vornehmen zu Können.


Ansonsten: bevor du dich zu sehr in eine falsche Richtung verläufst....dir ist schon klar, dass contentEditable nur der IE kennt?
 
Zuletzt bearbeitet:
Huhu,

danke schonmal für deine Antwort ;)

Dass nur der IE das kennt stimmt allerdings nicht so ganz :p Habs mit Opera, Safari, Firefox und dem IE getestet und alle kommen super mit klar (was daran liegt dass es in HTML5 integriert wird => http://www.w3.org/TR/html5/editing.html :))

Lg
 
Zuletzt bearbeitet:
Dass nur der IE das kennt stimmt allerdings nicht so ganz :p Habs mit Opera, Safari, Firefox und dem IE getestet und alle kommen super mit klar (was daran liegt dass es in HTML5 integriert wird :))

HTML5....soweit bin ich noch net :-)

Danke für die Info, wusste ich noch garnicht, habs vor Jahren aus meiner Nicht-IE-verarbeitenden Hirnhälfte gelöscht :suspekt:
 

Neue Beiträge

Zurück