はらこメモ

プログラミングに関して調べたことについてのメモ書きです。言語はバラバラ…。

「PHP」JSONのエスケープ

json_encode関数を利用するときは、次のオプションを利用すること。

json_encode($val, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);

JSON_HEX_TAG
すべての < および > をそれぞれ \u003C および \u003E に変換する。
JSON_HEX_AMP
すべての & を \u0026 に変換する。
JSON_HEX_APOS
すべての ' を \u0027 に変換する。
JSON_HEX_QUOT
すべての " を \u0022 に変換する。

安全に使うためには、たくさん指定しないといけないみたい。
普通に変換されると思ってオプションなしで使ってしまいそうですね。

詳しくは下記を参照
JSONのエスケープ | yohgaki's blog
PHP: 定義済み定数 - Manual