EKKi: Datenbankausgabe in Tabellenzeile

Beitrag lesen

Mahlzeit,

$text = str_replace("\n","",$text);
$text = str_replace("\r","",$text);

das ist meiner Meinung nach keine gute Idee, da Daten weggeworfen werden.

Sehe ich genauso.

Sinnvoller wäre eine kontextgemäße Behandlung:

Sehe ich auch so.

Und wie würdest Du im konkreten Fall (in dem es weder um Querystrings noch HTML-Ausgaben geht, sondern um Javascript) die Daten kontextgemäß behandeln?

Ich würde - da sowohl in PHP als auch in Javascript die ASCII-Codes 10 als "\n" bzw. 13 als "\r" dargestellt werden - einfach die Backslashes entsprechend maskieren:

$text = str_replace("\n", "\\n", str_replace("\r", "\\r", $text));

Damit dürfte als Ergebnis der HTML-Code folgendermaßen aussehen:

<input type="button" value="Bearbeiten" onclick="top.location.href='bearbeiten.php?text=Foo bar blubb\nbla laber'" />

Und das sollte problemlos funktionieren ...

Bessere Lösungsansätze sind herzlich willkommen!

... siehe auch diese Beiträge von dedlfix:

  • </archiv/2008/3/t168976/#m1103199>
  • </archiv/2008/3/t168823/#m1102025>

Dummerweise behandeln diese Beiträge nicht den konkreten Fall.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|