ここでは、異なる Web サイトで同じスクリプトを使用した奇妙な動作があります。どうぞ:
ユーザーがテキストを入力するテキストエリアがあります。また、Enter を使用して改行を行います。これは、次のように mysql db 内に保存されます。
1 行目\r\n2 行目\r\n\r\n3 行目
そのテキストをテキストエリア内に再度表示すると、問題が発生します。ほとんどの場合、すべて正常に動作します。テキストエリア内に次のように表示されます。
Line One
Line Two
Line Three
ただし、一部の Web サイトでは、テキストエリア内に次のもののみが表示されます。
Line One
Line Two
Line Three
データベース内には、2 つの改行 (\r\n\r\n) がまだ残っています。ただし、表示されるのは 1 つだけです。
これは、一部の Web サイトでのみ述べたように発生します。ほとんどの場合、この \r\n\r\n のような複数の改行が正常に表示されます。
更新: JSON のような継ぎ目は、それと関係があります。「Line One\r\nLine Two\r\n\r\nLine Three」のような文字列を含む JSON 文字列です。
{"mystring":"Line One\r\nLine Two\r\n\r\nLine Three"}
$row = $db->load(); // get the json string
var_dump($row); // \r\n\r\n still inside!
$jrow = json_decode($row);
var_dump($jrow->mystring); // on some servers multiple newlines are chopped to one