function seems_utf8($str) {
$length = strlen($str);
for ($i=0; $i < $length; $i++) {
$c = ord($str[$i]);
if ($c < 0x80) $n = 0; # 0bbbbbbb
elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb
elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb
elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb
elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb
elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b
else return false; # Does not match any model
for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
return false;
}
}
return true;
}
我從Wordpress得到了這段代碼,我對這個知之甚少,但是我想知道這個函數到底是什麼。檢查一個字符串是否被編碼爲UTF-8
如果有人知道請幫幫我嗎?
我需要清楚的關於上述代碼的想法。如果逐行解釋會更有幫助。
所以只是做'mb_strlen($字符串, 'UTF-8')'噸母雞。 – 2015-07-31 19:49:53