$d){ if(!isset($d["text"])){ unset($newString["extra"][$k]); } } } return json_encode($newString, JSON_UNESCAPED_SLASHES); } /** * Returns an HTML-formatted string with colors/markup * * @param string|array $string * * @return string */ public static function toHTML($string){ if(!is_array($string)){ $string = self::tokenize($string); } $newString = ""; $tokens = 0; foreach($string as $token){ switch($token){ case TextFormat::BOLD: $newString .= ""; ++$tokens; break; case TextFormat::OBFUSCATED: //$newString .= ""; //++$tokens; break; case TextFormat::ITALIC: $newString .= ""; ++$tokens; break; case TextFormat::UNDERLINE: $newString .= ""; ++$tokens; break; case TextFormat::STRIKETHROUGH: $newString .= ""; ++$tokens; break; case TextFormat::RESET: $newString .= str_repeat("", $tokens); $tokens = 0; break; //Colors case TextFormat::BLACK: $newString .= ""; ++$tokens; break; case TextFormat::DARK_BLUE: $newString .= ""; ++$tokens; break; case TextFormat::DARK_GREEN: $newString .= ""; ++$tokens; break; case TextFormat::DARK_AQUA: $newString .= ""; ++$tokens; break; case TextFormat::DARK_RED: $newString .= ""; ++$tokens; break; case TextFormat::DARK_PURPLE: $newString .= ""; ++$tokens; break; case TextFormat::GOLD: $newString .= ""; ++$tokens; break; case TextFormat::GRAY: $newString .= ""; ++$tokens; break; case TextFormat::DARK_GRAY: $newString .= ""; ++$tokens; break; case TextFormat::BLUE: $newString .= ""; ++$tokens; break; case TextFormat::GREEN: $newString .= ""; ++$tokens; break; case TextFormat::AQUA: $newString .= ""; ++$tokens; break; case TextFormat::RED: $newString .= ""; ++$tokens; break; case TextFormat::LIGHT_PURPLE: $newString .= ""; ++$tokens; break; case TextFormat::YELLOW: $newString .= ""; ++$tokens; break; case TextFormat::WHITE: $newString .= ""; ++$tokens; break; default: $newString .= $token; break; } } $newString .= str_repeat("", $tokens); return $newString; } /** * Returns a string with colorized ANSI Escape codes * * @param $string * * @return string */ public static function toANSI($string){ if(!is_array($string)){ $string = self::tokenize($string); } $newString = ""; foreach($string as $token){ switch($token){ case TextFormat::BOLD: $newString .= Terminal::$FORMAT_BOLD; break; case TextFormat::OBFUSCATED: $newString .= Terminal::$FORMAT_OBFUSCATED; break; case TextFormat::ITALIC: $newString .= Terminal::$FORMAT_ITALIC; break; case TextFormat::UNDERLINE: $newString .= Terminal::$FORMAT_UNDERLINE; break; case TextFormat::STRIKETHROUGH: $newString .= Terminal::$FORMAT_STRIKETHROUGH; break; case TextFormat::RESET: $newString .= Terminal::$FORMAT_RESET; break; //Colors case TextFormat::BLACK: $newString .= Terminal::$COLOR_BLACK; break; case TextFormat::DARK_BLUE: $newString .= Terminal::$COLOR_DARK_BLUE; break; case TextFormat::DARK_GREEN: $newString .= Terminal::$COLOR_DARK_GREEN; break; case TextFormat::DARK_AQUA: $newString .= Terminal::$COLOR_DARK_AQUA; break; case TextFormat::DARK_RED: $newString .= Terminal::$COLOR_DARK_RED; break; case TextFormat::DARK_PURPLE: $newString .= Terminal::$COLOR_PURPLE; break; case TextFormat::GOLD: $newString .= Terminal::$COLOR_GOLD; break; case TextFormat::GRAY: $newString .= Terminal::$COLOR_GRAY; break; case TextFormat::DARK_GRAY: $newString .= Terminal::$COLOR_DARK_GRAY; break; case TextFormat::BLUE: $newString .= Terminal::$COLOR_BLUE; break; case TextFormat::GREEN: $newString .= Terminal::$COLOR_GREEN; break; case TextFormat::AQUA: $newString .= Terminal::$COLOR_AQUA; break; case TextFormat::RED: $newString .= Terminal::$COLOR_RED; break; case TextFormat::LIGHT_PURPLE: $newString .= Terminal::$COLOR_LIGHT_PURPLE; break; case TextFormat::YELLOW: $newString .= Terminal::$COLOR_YELLOW; break; case TextFormat::WHITE: $newString .= Terminal::$COLOR_WHITE; break; default: $newString .= $token; break; } } return $newString; } }