Za předpokladu, že $str
je kódováno UTF-8:
function maxThreeBytes($str) {
return preg_match('@[\\xf0-\\xff][\\x80-\\xff][\\x80-\\xff][\\x80-\\xff]@', $str) ? false : true;
}
Zkontroluje, zda řetězec obsahuje čtyři znaky, které se shodují 11110xxxb 10xxxxxxb 10xxxxxxb 10xxxxxxb
což je kódování znaků mezi U+10000 a U+10FFFF.