errors as $err) { $ret[] = array( $err->getMessage(), $err->getCode(), $err->ch, $err->pos ); } } elseif ($obj instanceof Parser) { foreach ($obj->errors as $err) { $ret[] = array( $err->getMessage(), $err->getCode(), $err->token->token, $err->token->position ); } } } return $ret; } /** * Formats the specified errors. * * @param array $errors the errors to be formatted * @param string $format The format of an error. * '$1$d' is replaced by the position of this error. * '$2$s' is replaced by the error message. * '$3$d' is replaced by the error code. * '$4$s' is replaced by the string that caused the * issue. * '$5$d' is replaced by the position of the string. * * @return array */ public static function format( $errors, $format = '#%1$d: %2$s (near "%4$s" at position %5$d)' ) { $ret = array(); $i = 0; foreach ($errors as $key => $err) { $ret[$key] = sprintf( $format, ++$i, $err[0], $err[1], htmlspecialchars($err[2]), $err[3] ); } return $ret; } }