2012-05-11 28 views
2

それは私に終端されていない文字列リテラルエラーを与えている:var image_file_name = "<br/>を以下の行のために:この未終了の文字列リテラルエラーを修正する方法はありますか?

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

任意のアイデアこれは固定することができますどのように?あなたがJavaScriptの変数にPHPのスニペットを代入している理由を尋ねるする誘惑を避けるためにしようと

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

...:P

+1

を解決する使用してください。終端されていない文字列リテラルは他のものから来ています。 – drew010

+0

@ user1384419元のコメントを編集できないので、終わりのない文字列リテラルは、PHPコードの前に引用符を閉じるのを忘れていて、その行にエラーが表示されることがありますが、エラーが表示される前の行。より多くのコードを投稿したり、その行の上にある '' 'や' ''を閉じるのを忘れた場所を確認することができます。 – drew010

答えて

1

これを試してみてください:)をテストするすべてのアイデアにオープン\n改行は削除しますが、\rの改行は削除しません。両方を削除してみてください。 IE(とおそらく他のブラウザ)も、改行として\rを扱います。おそらく、

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

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

+1

JavaScriptはブラウザに送られて解析される前に実行されるため、差をつける – Wiseguy

+0

ああ、私は実行コンテキストがJavaScriptエンジンであると仮定していたと思うが、投げられた元のエラーを考えればそれは意味がない。 – jmar777

0

私は通常、何。

入力タイプを非表示にして、php値で値を入力し、セレクタ$( "#hiddenData")を使用して値を選択します。

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

1

それはこれが有効なPHPコードで問題

addcslashes($string, "\x00..\x1f\x22\x27\x5c") 
関連する問題