PHP変数をJavaScript変数に渡す 質問する

PHP変数をJavaScript変数に渡す 質問する

PHP 文字列をエンコードして JavaScript 変数に出力する最も簡単な方法は何ですか?

引用符と改行を含む PHP 文字列があります。この文字列の内容を JavaScript 変数に格納する必要があります。

通常、私は次のように PHP ファイルで JavaScript を構築します。

<script>
  var myvar = "<?php echo $myVarValue;?>";
</script>

ただし、引用符や改行が含まれている場合は機能しません$myVarValue

ベストアンサー1

他の人の回答を詳しく説明します:

<script>
  var myvar = <?= json_encode($myVarValue, JSON_UNESCAPED_UNICODE); ?>;
</script>

使用json_encode()必要:

  • PHP 5.2.0以上
  • $myVarValueUTF-8(またはもちろんUS-ASCII)としてエンコードされている

UTF-8 は完全な Unicode をサポートしているため、オンザフライで変換しても安全です。

これを onclick などの HTML 属性で使用する場合は、次のように json_encode の結果を htmlspecialchars() に渡す必要があることに注意してください。

htmlspecialchars(json_encode($string), ENT_QUOTES);

そうしないと、たとえばHTML エンティティとして解釈される&bar;際に問題が発生する可能性があります。foo()&&bar;

おすすめ記事