1, 'dim' => 2, 'underline' => 4, 'blink' => 5, 'invert' => 7, 'hidden' => 8, ]; /** * Add a format into the mix * * @param string $key * @param mixed $value */ public function add($key, $value) { $this->formats[$key] = (int) $value; } /** * Retrieve all of the available formats * * @return array */ public function all() { return $this->formats; } /** * Get the code for the format * * @param string $val * * @return string */ public function get($val) { // If we already have the code, just return that if (is_numeric($val)) { return $val; } if (array_key_exists($val, $this->formats)) { return $this->formats[$val]; } return null; } /** * Set the current format * * @param string $val * * @return boolean */ public function set($val) { $code = $this->get($val); if ($code) { $this->current[] = $code; return true; } return false; } }