Supponendo che $str
è codificato UTF-8:
function maxThreeBytes($str) {
return preg_match('@[\\xf0-\\xff][\\x80-\\xff][\\x80-\\xff][\\x80-\\xff]@', $str) ? false : true;
}
Verifica se la stringa contiene quattro caratteri che corrispondono a 11110xxxb 10xxxxxxb 10xxxxxxb 10xxxxxxb
che è la codifica per i caratteri compresi tra U+10000 e U+10FFFF.