ここで問題です。MySQL DB にテキストとしてデータがあります。データは mysql_real_escape_string を介して挿入されます。ユーザーに表示されるデータに問題はありません。
ある時点で、このデータを foo という JavaScript 関数に渡したいと思います。
// This is a PHP block of code
// $someText is text retrieved from the database
echo "<img src=someimage.gif onclick=\"foo('{$someText}')\">";
$someText のデータに次のような改行がある場合:
Line 1
Line 2
Line 3
HTML出力が
<img src=someimage.gif onclick="foo('line1
line2
line3')">
問題は、改行と改行を保持しながらコードを壊さずに、$someText を JavaScript の foo 関数に渡すにはどうすればよいかということです。
================================================== =========================================
このようにjsonを使用した後:
echo "<img src=someimage.gif onclick=\"foo($newData)\">";
次のような HTML を出力しています。
onclick="foo("line 1<br \/>\r\nline 2");">
画像の後に \r\n2 行目");"> が表示されます。