2011-07-14 2 views
0

ファイルを文字列として読み込み、変数として保存するためにjavascriptコードとして実行するためにクライアントに返します。そうPHPは文字列としてファイルの内容を読み込んで実行します

<?php 
$fileName = 'target.js'; 
$codeAsString = file_get_contents($fileName); 
$script = 'var code=\'' . $codeAsString . '\''; 
echo $script; 
?> 

一度戻ったように、私は変数codeがtarget.jsの内容の文字列表現を持っていると思います。しかし、それは動作していません。私はそれが改行文字や単一/二重引用符に関係している疑いがある... Pythonでは、彼らには、複数回線引用

"""This 
is 
a "multi" 
line 
'quote' 
""" 

はJavascript/PHPでこのようなものはありますか?私は$codeAsStringの周りに一重引用符を必要とするかどうかを頭の中に入れても、それを$scriptに添付するときには囲まれません。すべての引用符、二重引用符、バックスラッシュの前に手動で入力してバックスラッシュを前に付ける必要がありますか?確かに、これにはヘルパー機能があります。

ありがとうございます。

答えて

1

json_encodeは、PHPの関数json_encode

<?php 
$fileName = 'target.js'; 
$codeAsString = file_get_contents($fileName); 
$script = 'var code= '.json_encode($codeAsString) .';'; 
echo $script; 
?> 
+0

ニース!それはほとんど完璧に機能しました。新しい行の代わりに、 'console.log()'を実行すると、これらのゲットーにはほとんどキャリッジリターンシンボルが得られません。これはChrome固有のものか、json_encodeは改行と改行を区別しますか? – puk

+0

'var code'に格納し、' console.log(code) 'を実行すると、改行は改行として解釈されます。しかし、私が何らかの理由で '{src: ''}'と 'console.log(code)'をオブジェクトに格納した場合、 'code'の' src'属性はキャリッジリターンがほとんどありません。したがって、私はこれがクロム固有のものだと思う。 – puk

1

使用...あなたの友達です。

関連する問題