[摘要]本篇文章给大家带来的内容是关于PHP如何将不是UTF8的字符过滤掉(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。function utf8_filter($data){$s...
本篇文章给大家带来的内容是关于PHP如何将不是UTF8的字符过滤掉(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
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;
}