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以上
$myVarValue
UTF-8(またはもちろんUS-ASCII)としてエンコードされている
UTF-8 は完全な Unicode をサポートしているため、オンザフライで変換しても安全です。
これを onclick などの HTML 属性で使用する場合は、次のように json_encode の結果を htmlspecialchars() に渡す必要があることに注意してください。
htmlspecialchars(json_encode($string), ENT_QUOTES);
そうしないと、たとえばHTML エンティティとして解釈される&bar;
際に問題が発生する可能性があります。foo()&&bar;