// PHP 4 >= 4.0.1, PHP 5 public static function json_encode($array) { return preg_replace_callback( '/(?<=:)"function\((?:(?!}").)*}"/', create_function('$string', "return str_replace('\\\\\"','\\\"',substr(\$string[0],1,-1));"), json_encode($array) ); } // PHP 5 >= 5.3.0 public static function json_encode($array) { return preg_replace_callback( '/(?<=:)"function\((?:(?!}").)*}"/', function ($string) { return str_replace('\\"','\"',substr($string[0],1,-1)); }, json_encode($array) ); }