1. ホーム
  2. php

[解決済み] PHP の文字列を JavaScript の変数に渡す (そして改行をエスケープする) [重複]。

2022-03-24 22:38:23

質問

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

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

通常は、PHPファイルの中でJavaScriptを構築します。

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

しかし、これは $myVarValue は引用符や改行が含まれています。

解決方法は?

他の人の答えを拡大解釈すること。

<script>
  var myvar = <?php echo json_encode($myVarValue); ?>;
</script>

使用方法 json_encode() が必要です。

  • PHP 5.2.0以上
  • $myVarValue UTF-8(もちろんUS-ASCIIでも可)でエンコードされています。

UTF-8は完全なUnicodeをサポートしているので、その場で変換しても大丈夫なはずです。

ただし json_encode はフォワードスラッシュをエスケープするので </script> はスクリプトブロックで安全に印刷できるようにエスケープされます。