Förutsatt att $str
är UTF-8-kodad:
function maxThreeBytes($str) {
return preg_match('@[\\xf0-\\xff][\\x80-\\xff][\\x80-\\xff][\\x80-\\xff]@', $str) ? false : true;
}
Den kontrollerar om strängen innehåller fyra tecken som matchar 11110xxxb 10xxxxxxb 10xxxxxxb 10xxxxxxb
som är kodningen för tecken mellan U+10000 och U+10FFFF.