检查字符串是否是utf8编码的。
原型
seems_utf8( string $str )
描述
注意:此功能检查5字节序列,UTF8具有字节序列,最大长度为4。
参数
$str
(string)
(Required)
要检查的字符串
返回值
(bool)
如果$ str适合UTF-8模型,则为true,否则为false。
源文件
路径:wp-includes/formatting.php
<?php
...
function seems_utf8( $str ) {
mbstring_binary_safe_encoding();
$length = strlen($str);
reset_mbstring_encoding();
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;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/seems_utf8/