json が配列をエンコードできるという問題がありますが、特殊文字が原因で適切にデコードできません。
助けようとするstackoverflowでこの関数を見つけました:
function escapeJsonString($value)
{ # list from www.json.org: (\b backspace, \f formfeed)
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
しかし、これは文字のリストにすぎません。新しい特殊文字を取得するたびに、手動で処理し、文字とその置換リストに追加する必要があります。
どうすればこれを適切に処理できますか?