Hallo miteinander!
Mir sind noch ein paar Dinge eingefallen, zu dem was hier im Thread besprochen wurde und auch generell, bezüglich derer der ein oder andere kompetente Kommentar sicherlich hilfreich wäre! ;)
1. Zum Speichern von Text-Input über XMLHttpRequest/PHP
Mir ist aufgefallen, dass Zeilenumbrüche, die man beim Schreiben in der <textarea>
per Return-Taste setzt, tatsächlich beim Speichern des Textes 'irgendwie' mit übernommen werden, d.h. wenn ich auf der Seite in die <textarea>
schreibe...
"Nach diesem Satz folgt ein Zeilenumbruch.
Dann kommt der nächste Satz."
...dann steht das in der Ausgabedatei exakt so drin, - jedoch nicht, wenn ich diese Datei mit dem Windows-Editor öffne(!), - denn dann steht da:
"Nach diesem Satz folgt ein Zeilenumbruch.Dann kommt der nächste Satz."
Irgendwie muss also die Information, dass da ein Zeilenumbruch ist, zwar mit gespeichert werden, jedoch offenbar auf eine Art und Weise, dass dem Windows-Editor diese Information verborgen bleibt! Öffne ich die Datei hingegen mit einem anderen Programm - ausprobiert habe ich's mit Windows WordPad, Notepad++ sowie dem OpenOffice Writer - werden die Zeilenumbrüche ohne weiteres berücksichtigt! - Merkwürdig, oder? ;)
Außerdem ist mir aufgefallen, dass sich mit dem Speichern über XMLHttpRequest/PHP die Kodierung der Ausgabedatei ändert:
Ich hatte die Datei grundsätzlich mit UTF-8 w/o BOM kodiert, aber jedesmal wenn ich den Inhalt über die PHP-Speicherfunktion aktualisiere, ändert sich die Kodierung zu ANSI!
Kann man das in der PHP-Funktion irgendwie so notieren, dass das nicht passiert, also dass die Kodierung UTF-8 ohne Byte Order Mask bestehen bleibt??
2. Generelle Gedanken
Ich bin ehrlich gesagt immernoch am herumexperimentieren, was die optimale - sprich, am wenigsten Aufwändige - Art ist, Inhalte auf meiner Seite hinzuzufügen, und stelle dabei fest, dass das Aufwändigste an der ganzen Prozedur eigentlich weniger das Einfügen des Textes selbst ist, - wobei es völlig unerheblich ist, ob ich meine 'library' in einer externen XML-Datei, in vielen externen TXT-Dateien oder in einem <div id="library> ... </div>
auf display:none;
im Quellcode der HTML-Datei unterbringe (wozu ich mittlerweile fast am ehesten tendiere), - sondern das Aufwändigste ist eigentlich die Verwaltung der Menü-Listeneinträge, die auf den entsprechenden content verweisen!
Das heißt, ich habe ersmal meinen Textinhalt, wo auch immer er sich befinden mag ;) und um an den heranzukommen müssen mehrere, letztlich immer gleich bleibende Schritte unternommen werden.
Das Erstellen von Listeneinträgen für meine zahlreichen Menüs habe ich in JavaScript schon soweit simplifiziert wie möglich, z.B.:
a. Erstellen des Eintrags
function createListItemsForList01(){
createListItem("BGBp611","BGB §611<br>Dienstvertrag",doubleLine,"list01","blue");
createListItem("BGBp612","BGB §612<br>Vergütung",doubleLine,"list01","blue");
/* ... */
}
function createListItem(name,text,format,list,color){
/* ... */
}
b. Hinzufügen von EventListenern
function addEventListenerForList01(){
document.getElementById("BGBp611").addEventListener("click",BGBp611OnClick);
document.getElementById("BGBp612").addEventListener("click",BGBp612OnClick);
/* ... */
}
c. Schließlich die dazugehörigen Funktionen
function BGBp611OnClick(){
var text = document.getElementById("BGBp611Text") // wenn Text in HTML-Datei-eigener library
addContentBox("Dienstvertrag",text);
}
function addContentBox(headline,content){
/* ... */
}
Dass ich die Listen dynamisch erstelle und nicht direkt in HTML liegt daran, dass sich das Aussehen und die Zusammensetzung der Listen verändern, je nach dem wo auf der Seite man sich befindet. - Würde ich die Einträge statisch ins HTML schreiben, müsste ich deutlich mehr oder deutlich komplizierteren Code schreiben um zum selben Ergebnis zu kommen.
Der Gedanke dem ich nun nachhänge ist jedenfalls der, dass es doch möglich sein müsste, diesen Vorgang zu automatisieren.
Es ist mir ja schon gelungen, eine Funktion zu schreiben, die aus den Eingaben in meinem Seiten-eigenen Editor Funktionen macht, die dann über den XMLHttpRequest
und PHP in eine externe JavaScript-Datei geschrieben werden, welche ich in das HTML-Dokument eingebunden habe, so dass auf die Funktionen beim refresh der Seite zurückgegriffen werden kann.
Ebenso ist es mir gelungen, die Save-Funktion im Script so zu notieren, dass der Text in der JS-Datei nicht ersetzt wird, sondern, dass ich den vorhandenen Text beibehalte und dieser dann zusammen mit dem 'neuen' Text aus der <textarea>
in die Datei geschrieben wird.
Das ist natürlich noch ein wenig grobschlächtig von der Methode her, aber wenn ich vermöge 'regulärer Ausdrücke' und vielleicht charAt();
es irgendwie hinbekommen würde, den 'vorhandenen' Text aus der JS/HTML-Datei an der richtigen Stelle aufzusplitten und den 'neuen' (durch JS-Funktion 'bearbeiteten')Text aus der <textarea>
genau dort hinzuzufügen, müsste es doch möglich sein, diese nervigen Arbeitsschritte auf ein paar Eingaben in <input>
oder <textarea>
Feldern im Seiten-eigenen Editor zu reduzieren!
Leider ist mir das mit den 'RegExp' noch nicht wirklich vertraut...
Also falls jemand eine Idee hat, wie so eine Split-Funktion aussehen müsste, oder Anregungen zu sonst irgendetwas von dem, was ich hier ausgebreitet habe, wäre ich überaus dankbar! ;)
Gruß,
Roadster.