Ausgabe von MySQL Text-Feld in EINER zeile ohne Umbruch
am 07.11.2005 13:48:30 von Markus Schmidt
Hallo NG!
Wahrscheinlich ist mein Problem lächerlich gering - aber ich hab noch nix
gefunden, was mir helfen könnte :(
Folgendes Szenario: aus einer Mysql-Abfrage kommt der Wert $row["text"] -
ein MySQL Textfeld mit diversen Schreibereien drin (genauer: Nachichten von
User zu User). Mit diesem Textinhalt möchte ich über ein Javascript dem User
beim Antworten die Möglichkeit geben, den ursprünglichen Text in das
Antwortfeld zu quoten - klappt auch - solange bis die urspr. Nachricht
Zeilenumbrüche enthält... also Sieht das etwa so aus:
$ursprünglichertext="
>Hallo,
>
>hier steht jetzt\n
>
>mein toller Text!"
durch die Umbrüche zerhauts mir dann jedesmal das Javascript :( und daher
möchte ich nun gerne, das das Ganze SO aussieht:
$text=">Hallo,\n\n>hier steht jetzt\n> \n>mein toller Text!\n>";
Irgendwelche Ideen?
1000Dank im Voraus
Markus
Re: Ausgabe von MySQL Text-Feld in EINER zeile ohne Umbruch
am 07.11.2005 15:22:45 von Martin Honnen
Markus Schmidt wrote:
> Nachricht
> Zeilenumbrüche enthält... also Sieht das etwa so aus:
>
> $ursprünglichertext="
>
>>Hallo,
>>
>>hier steht jetzt\n
>>
>>mein toller Text!"
>
>
> durch die Umbrüche zerhauts mir dann jedesmal das Javascript :( und daher
> möchte ich nun gerne, das das Ganze SO aussieht:
>
> $text=">Hallo,\n\n>hier steht jetzt\n> \n>mein toller Text!\n>";
So du ein JavaScript-String-Literal aus einem PHP-String erzeugen
willst, musst du halt str_replace benutzen, also etwa so
str_replace(array("\n", "\r", '"'), array("\\n", "\\r", "\\\""),
$ursprünglichertext)
um Zeilenumbrueche und Anfuehrungszeichen zu escapen.
--
Martin Honnen
http://JavaScript.FAQTs.com/
Re: Ausgabe von MySQL Text-Feld in EINER zeile ohne Umbruch
am 07.11.2005 17:13:41 von Markus Schmidt
Hallo Martin,
> So du ein JavaScript-String-Literal aus einem PHP-String erzeugen willst,
> musst du halt str_replace benutzen, also etwa so
> str_replace(array("\n", "\r", '"'), array("\\n", "\\r", "\\\""),
> $ursprünglichertext)
> um Zeilenumbrueche und Anfuehrungszeichen zu escapen.
Das war die Lösung! das 2. "\" (autsch!)
So sieht das in "fertig" aus:
$quotemsg = ereg_replace ("\r\n","\\n>", $myrow["nachricht"]);
$neuertext = wordwrap( $quotemsg, 75, "\\n>" );
$quotemsg=$neuertext;
Vielen Dank und schönen Abend noch!
Markus