private static function mapCodePoints($input, array
$options, Info
$info) { $str = '';
$useSTD3ASCIIRules =
$options['UseSTD3ASCIIRules'
];
$transitional =
$options['Transitional_Processing'
];
foreach (self::
utf8Decode($input) as $codePoint) { $data = self::
lookupCodePointStatus($codePoint,
$useSTD3ASCIIRules);
switch ($data['status'
]) { case 'disallowed':
$info->errors |= self::ERROR_DISALLOWED;
// no break.
case 'valid':
$str .=
mb_chr($codePoint, 'utf-8'
);
break;