ホームページ >バックエンド開発 >PHPチュートリアル >特殊文字を処理しながら、PHP 文字列を JavaScript 変数に安全に渡すにはどうすればよいですか?

特殊文字を処理しながら、PHP 文字列を JavaScript 変数に安全に渡すにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-22 18:47:11719ブラウズ

How Can I Safely Pass a PHP String to a JavaScript Variable, Handling Special Characters?

文字列エンコーディングを使用して PHP 変数を JavaScript 変数に渡す

引用符や改行などの特殊文字を含む PHP 文字列を扱う場合、困難になりますJavaScript 変数に直接出力します。これを克服するには、PHP 文字列を渡す前にエンコードする必要があります。

効果的な解決策の 1 つは、json_encode() 関数を使用することです:

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

その仕組みは次のとおりです:

  • json_encode() は PHP 値を JSON に変換しますstring.
  • JSON_UNESCAPED_UNICODE を指定すると、Unicode 文字がエスケープされずに保持され、特殊文字がそのまま渡されることが保証されます。

要件:

  • PHP 5.2.0 または後で
  • UTF-8 (または US-ASCII) でエンコードされた PHP 文字列

注意:

  • json_encode( ) HTML 属性 (例: onclick) で、その結果を渡します。 htmlspecialchars():
htmlspecialchars(json_encode($string), ENT_QUOTES);

これにより、「&bar;」などの HTML エンティティに関する潜在的な問題が防止されます。 JavaScript コード内で誤解されています。

以上が特殊文字を処理しながら、PHP 文字列を JavaScript 変数に安全に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。