function utf8_filter($data)
{
$str = "";
for($n = 0; $n < strlen($data);)
{
$s = substr($data, $n, 1);
$v = ord($s);
if($v >= 127)
{
++$n;
$cnt = 0;
$tmp = $v;
while($tmp & 0x80)
{
$tmp = $tmp << 1;
++$cnt;
}
$x = 0;
while($x < $cnt && $n < strlen($data))
{
$s = substr($data, $n, 1);
if((ord($s) & 0xC0) == 0x80)
{
++$n;
++$x;
}else{
break;
}
}
if($x + 1 == $cnt)
{
$str = $str . substr($data, $n - $cnt, $cnt);
}else{
while($n < strlen($data))
{
$s = substr($data, $n, 1);
if(ord($s) & 0x80)
{
++$n;
}else{
break;
}
}
}
}else{
$str = $str. $s;
++$n;
}
}
return $str;
}相关推荐:
以上就是PHP如何将不是UTF8的字符过滤掉(代码)的详细内容,更多请关注php中文网其它相关文章!
……