static function pretty($data, $caller = false) { if (!$caller) { $caller = self::caller(); } $string = '[' . $caller['file'] . ':' . $caller['line'] . '](#' . self::$pretty_increment . ') : '; if (!is_string($data)) { #JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE options were added. $json = Tool::flat_json_encode($data, JSON_PRETTY_PRINT); $start_bracket = '[\\[\\{]+'; $end_bracket = '[\\]\\}]+'; $start_line = '(?<=\\n|^)'; $end_line = '(?=\\n|$)'; # condense start brackets $json = preg_replace('@' . $start_line . '(\\s*' . $start_bracket . ')\\n\\s*@', '$1', $json); # condense end brackets $json = preg_replace('@\\n\\s*(' . $end_bracket . ',?)' . $end_line . '@', '$1', $json); $string .= $json; } else { $string .= $data; } self::$pretty_increment++; return $string; }