1

私はこのようなphp変数を持っています

var externalData = '<?php echo $matches[0]; ?>';

ページのソースコードをロードすると、このようになります

var externalData = 'data,data,data,data,data
';

これにより JavaScript コードが破損し、ブラウザで実行できなくなります。

私はこのようになりたいです:

var externalData = 'data,data,data,data,data';

php 出力はファイルの完全な行であるため、行末が含まれる場合があります。手でテストして作業していますが、どうすれば修正できますか?

4

3 に答える 3

4

trim(または) を使用rtrimして、文字列の末尾にある改行を削除できます。

var externalData = "<?php echo trim($matches[0]); ?>";

または、文字列全体を次のように渡すこともできますjson_encode

var externalData = <?php echo json_encode($matches[0]); ?>;

これは改行を削除'しませんが、それをエンコードし、結果の値は有効な JS 文字列リテラルになります (つまり、またはなど、コードを壊す可能性のある他のすべての文字も"エスケープされます)。

于 2013-08-11T13:16:15.740 に答える