- mb_convert_encoding: documentation ( source)
- mb_strlen: documentation ( source)
- preg_match: documentation ( source)
- error_reporting: documentation ( source)
- array_keys: documentation ( source)
- join: documentation ( source)
<?php
error_reporting(E_ALL);
$tests = array();
//$test_string = html_entity_decode('가‌가', ENT_COMPAT, 'UTF-8');
$uchar = mb_convert_encoding('&#' . intval(2984) . ';', 'UTF-32', 'HTML-ENTITIES');
$tests['string_length'] = (mb_strlen($uchar, 'UTF-32') === 1);
$tests['string_match'] = (preg_match('/\X+/u', $uchar) === 1);
$fails = array();
foreach ($tests as $key => $value) {
if ($value === false) {
$fails[$key] = $value;
}
}
if (count($fails) > 0) {
echo "Failed: " . join(', ', array_keys($fails)) . PHP_EOL;
exit(1);
}
exit(0);