/** * 引数の文字列から UTF-8 として不適切なシーケンスを除去します. * * @param string $var 文字列 * @return string 不正なシーケンスを除去した結果 */ private static function cleanString($var) { // @codeCoverageIgnoreStart static $utf8Codec = null; if ($utf8Codec === null) { $utf8Codec = new Utf8Codec(); } // @codeCoverageIgnoreEnd $str = Values::stringValue($var); return $utf8Codec->encode($utf8Codec->decode($str)); }
/** * 文字列を JSON 文字列に変換します. * * @param string $str 変換対象の文字列 * @return string JSON 文字列 * @ignore */ public function encodeString($str) { $self = $this; $callback = function ($num) use($self) { return $self->encodeCodePoint($num); }; $unicodeList = $this->utf8Codec->decode($str); return '"' . implode("", array_map($callback, $unicodeList)) . '"'; }