mehrzeiliger String

PsychoCat

Mitglied
Hallo!
Ist es möglich in javascript mehrzeilige strings in einer Variable zu speichern? Wenn ich folgendes probiere, kommt immer der Fehler "nicht abgeschlossene Zeichenfolgenkonstante":
test = ("erste Zeile
zweite Zeile");

Zum Hintergrund:
Ich lese einen Text mit php aus einer Datenbank aus und dieser ist eben mehrzeilig, soll aber in javascript verwendet werden.
 
Zuletzt bearbeitet:
Öhm ja das geht. Du kennst ja sicherlich von PHP das Verbindungsobjekt ".".
So, genau das selbe gibt es auch für JavaScript, nur heist es da "+".

Theoretisch müsste das funktionieren:
Code:
$string="Das ist mein Text
Und noch viel mehr";

$string=str_replae("\n","' \n + '",$string);
$string.="var variable='" . $string."';";

//gibt aus:
//var variable='Das ist mein Text'
//+ 'Und noch viel mehr'
//+ '';
Ich hoffe du hast das Prinzip verstanden. Ich habe es lange nicht mehr angwandt, hatte aber funktioniert. Notfalls löschst du einfach die Zeilenumbrüche(physisch).

In diesem Sinne
 
Also Danke erstmal, aber das funktioniert nicht so ganz.
Ausgegeben wird dann:
var variable='Das ist mein Text
'
+ 'Und noch viel mehr';
:(
 
Wie immer von mir der gleiche Tipp:)

arbeite in PHP mit rawurlencode(), und in Javascript mit unescape()
Code:
<script type="text/javascript">
<!--
test = unescape("<?php echo rawurlencode($textMitZeilenumbruch);?>");
//-->
</script>
 
Ja, das klappt schonmal, vielen Dank bis hierher!
Aber gibt es auch eine Möglichkeit den String dann anschließend wieder mit seinen ganzen Zeilenumbrüchen und Leerzeichen auszugeben?

Ich möchte nämlich gerne einen Text aus einer Datenbank auslesen und den dann als Parameter einer js-Funktion verwenden, in der er dann woanders ausgegeben wird. Also letztendlich gäbe es dann einen link, der beim anklicken bewirkt, dass der Text, der ihm zugewiesen ist (dynamisch per php), an einem anderen Ort ausgegeben wird. Ich hoffe das war nicht zu umständlich formuliert :)
 
Durch unescape() erhält er die Zeilenumbrüche doch zurück:rolleyes:

Da Zeilenumbrüche innerhalb von HTML-Code in der Regel nicht im Dokument dargestellt werden, musst du den Text in bspw. <pre> ausgeben...da werden sie dargestellt.

Oder machs per nl2br()....damit wiederholte Leerzeichen dargestellt werden, musst du diese weiterhin durch &amp;nbsp;ersetzen.
 
Zuletzt bearbeitet:
Zurück