PHP mb_convert_encoding 获取字符串编码类型实现代码

yipeiwu_com6年前PHP代码库
后来又在手册上找到了is_utf8函数,这样,再结合iconv函数,我的问题就解决了。下面帖出这个函数:

复制代码 代码如下:

function is_utf8($string) {
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
} // function is_utf8


如果想深入研究,建议看下PHP手册上的“Multibyte String Functions”这一部分的内容。

相关文章

php实现的替换敏感字符串类实例

本文实例讲述了php实现的替换敏感字符串类及其用法,在php程序开发中有着非常广泛的应用价值。分享给大家供大家参考。具体方法如下: StrFilter.class.php类文件如下:...

PHP实现的曲线统计图表示例

PHP实现的曲线统计图表示例

本文实例讲述了PHP实现的曲线统计图表。分享给大家供大家参考,具体如下: <?php /****************************** * 折线...

PHP单元测试利器 PHPUNIT深入用法(二)第1/2页

PHP单元测试利器 PHPUNIT深入用法(二)第1/2页

1、markTestSkipped和markTestIncomplete   在phpunit中,有两个有用的方法markTestSkipped和markTestIncomplete。...

PHP数组传递是值传递而非引用传递概念纠正

在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身。 说明此过程中的传递为值传递,数组变量并非是指向此数组本身的引用,PHP数组本身以值的形式存在,同时形参...

解析php如何将日志写进syslog

在做项目的时候们为了方便运维,我们经常需要将系统日志写入系统syslog,下边我们就介绍一下,在linux下php对syslog的操作:在linux中配置syslog在linux中,fa...