private function cbString($m) { static $mapping = array('t' => "\t", 'n' => "\n", '"' => '"', '\\' => '\\', '/' => '/', '_' => "\xc2\xa0"); $sq = $m[0]; if (isset($mapping[$sq[1]])) { return $mapping[$sq[1]]; } elseif ($sq[1] === 'u' && strlen($sq) === 6) { return String::chr(hexdec(substr($sq, 2))); } elseif ($sq[1] === 'x' && strlen($sq) === 4) { return chr(hexdec(substr($sq, 2))); } else { $this->error("Invalid escaping sequence $sq"); } }