2

それは私に未終了の文字列リテラルエラーを与えています:var image_file_name = "<br/>以下のこの行の場合:

var image_file_name = "<?php echo str_replace("\n", "", $image_file_name); ?>";

これをどのように修正できるかについてのアイデアはありますか?テストするすべてのアイデアを開きます:)

4

4 に答える 4

2

\n改行は削除しますが、\rキャリッジリターンは削除しません。両方を削除してみてください。IE(および場合によっては他のブラウザ)も\r改行として扱うようです。

多分:

str_replace(array("\n","\r"), "", $image_file_name)

(これには、* nixスタイルの改行ではなく、$image_file_nameWindowsスタイルの改行が含まれていると想定しています。)\r\n\n

于 2012-05-11T18:10:34.583 に答える
1

これを試して:

var image_file_name = '<?php echo str_replace("\n", "", $image_file_name); ?>';

なぜphpスニペットをJavaScript変数に割り当てているのかと尋ねる誘惑を避けようとしています...:p

于 2012-05-11T17:58:10.873 に答える
1

問題を解決するために使用してください

 addcslashes($string, "\x00..\x1f\x22\x27\x5c")
于 2015-05-08T05:12:23.917 に答える
0

私が普段していること。

非表示の入力タイプを作成し、その値にphp値を入力して、セレクター$( "#hiddenData")。val();を使用して選択します。

したがって、PHPを使用してスクリプトブロックにデータを書き込む必要はありません。mvcフレームワークを使用する場合、それははるかにクリーンです。

于 2012-05-11T18:24:17.270 に答える