PHP判断一段字符串是不是utf8编码的函数


PHP #utf8 #字符串 #函数2012-05-10 21:02

这个函数也常用,哈。

function yige_isUTF8($str){
	$length = strlen($str);
	for($i=0; $i<$length; $i++) {
		$high = ord($str{$i});
		if(($high == 0xC0) || ($high == 0xC1)) {
			return false;
		} elseif($high < 0x80) {
			continue;
		} elseif($high < 0xC0) {
			return false;
		} elseif($high < 0xE0) {
			if(++$i >= $length) return true;
			elseif(($str{$i}&"\xC0") == "\x80") continue;
		} elseif($high < 0xF0) {
			if(++$i >= $length) {
				return true;
			} elseif(($str{$i}&"\xC0") == "\x80") {
				if(++$i >= $length) return true;
				elseif(($str{$i}&"\xC0")=="\x80") continue;
			}
		}elseif($high < 0xF5) {
			if(++$i >= $length) {
				return true;
			} elseif(($str{$i}&"\xC0") == "\x80") {
				if(++$i >= $length) {
					return true;
				} elseif(($str{$i}&"\xC0") == "\x80"){
					if(++$i >= $length) return true;
					elseif(($str{$i}&"\xC0") == "\x80") continue;
				}
			}
		}
		return false;
	}
	return true;
}


相关文章

粤ICP备11097351号-1