それは私に未終了の文字列リテラルエラーを与えています:var image_file_name = "<br/>
以下のこの行の場合:
var image_file_name = "<?php echo str_replace("\n", "", $image_file_name); ?>";
これをどのように修正できるかについてのアイデアはありますか?テストするすべてのアイデアを開きます:)
それは私に未終了の文字列リテラルエラーを与えています:var image_file_name = "<br/>
以下のこの行の場合:
var image_file_name = "<?php echo str_replace("\n", "", $image_file_name); ?>";
これをどのように修正できるかについてのアイデアはありますか?テストするすべてのアイデアを開きます:)
\n
改行は削除しますが、\r
キャリッジリターンは削除しません。両方を削除してみてください。IE(および場合によっては他のブラウザ)も\r
改行として扱うようです。
多分:
str_replace(array("\n","\r"), "", $image_file_name)
(これには、* nixスタイルの改行ではなく、$image_file_name
Windowsスタイルの改行が含まれていると想定しています。)\r\n
\n
これを試して:
var image_file_name = '<?php echo str_replace("\n", "", $image_file_name); ?>';
なぜphpスニペットをJavaScript変数に割り当てているのかと尋ねる誘惑を避けようとしています...:p
問題を解決するために使用してください
addcslashes($string, "\x00..\x1f\x22\x27\x5c")
私が普段していること。
非表示の入力タイプを作成し、その値にphp値を入力して、セレクター$( "#hiddenData")。val();を使用して選択します。
したがって、PHPを使用してスクリプトブロックにデータを書き込む必要はありません。mvcフレームワークを使用する場合、それははるかにクリーンです。