johny7: Zeilenumbruch in JSON-Objekt erzeugt Fehler

Beitrag lesen

Moin allerseits,

Hi!

Noch einmal: Mit welcher Funktion ersetze ich die Zeilenumbrüche, die bei der Eingabe in das teaxtarea gesetzt werden, durch solche, die für JavaScript geeignet sind (also durch \n )?

Mit der für die Ersetzung von Zeichenketten in Strings. Aus dem \r machst du die beiden Zeichen \ und r und statt einem \n notierst du \ und n. Die gezeigte PHP-Funktion kümmert sich noch um weitere Zeichen, die ebenfalls problematisch sind. Es schadet nicht, wenn du die ebenfalls berücksichtigst

Der Witz ist ja, dass ich den Inhalt des textarea auslesen und mit alert ausgeben kann.

In dem Fall verarbeitest du Daten.

D.h. der Fehler taucht erst bei eval auf, weil eval da ein Zeilenende sieht und kein \n.

Weil du hier aus Daten Code machen möchtest. Das interne Speichern von Daten ist kein Problem, auch nicht die Übernahme aus der Textarea. Erst der Kontextwechsel von Daten zu Code benötigt die Berücksichtigung der Regeln für Code.

Also muss ich diese Umbrüche durch \n ersetzen. Reicht es also, \n durch \n zu ersetzen, oder ist der von Hand eingegebene Zeilenumbruch ein anderer?

Es gibt nur die zwei bekannten Zeichen \r und \n, die bei einem Zeilenumbruch eine Rolle spielen.

Vielen Dank für die Ausführungen.

Ich hoffe, wir reden jetzt nicht völlig aneinander vorbei...

So war das schon besser verständlich. Aber: Warum benötigst du überhaupt eval() und erzeugst das Objekt nicht direkt aus den gegebenen Daten?

Diese Frage habe ich in meinem ersten Post auch gestellt. Und ich habe danach gefragt, wie ich das anstellen soll. In PHP würde ich einfach ein Array anlegen und dann in der Schleife $mein_array[] = $inhalt schreiben. Aber mit JavaScript und bei Objekten bin ich mir nicht sicher.
Ich werde mich sehr freuen, von dir jetzt die gewünschte Antwort zu erhalten.

Grüße, JN

--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de