JavaScript変数としてエコーアウトする必要がある複数行の文字列を作成する関数があるため、文字列が作成された後、次のstr_replace()
ように返す前に実行します。
return str_replace("\r\n", "\\\r\n", $output);
これは奇妙なことです。これは、WampServer を実行している私の開発マシンでは問題なく動作しますが、ライブ サーバー (Apache と最新バージョンの PHP を実行している VPS) の行末にスラッシュを追加しません。
例:
return (str_replace("\r\n", "\\\r\n",
'this
is
a
test'));
開発者 機械:
this\ is\ a\ test
ライブサーバー:
this is a test
私はドキュメントを調べてきましたが、なぜこれが起こっているのか分かりません。何か案は?
解決:
return (str_replace(PHP_EOL, '\\' . PHP_EOL,
'this
is
a
test'));