php下检测字符串是否是utf8编码的代码


Posted in PHP onJune 28, 2008

 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);     
}
准确率基本和mb_detect_encoding一样,要对一起对,要错一起错。
编码检测不可能100%准确,这个东西已经可以基本满足要求了。 

PHP 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
php中的实现trim函数代码
Mar 19 PHP
discuz7 phpMysql操作类
Jun 21 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
php修改NetBeans默认字体的大小
Jul 02 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
php GD绘制24小时柱状图
Jun 28 #PHP
php 在线打包_支持子目录
Jun 28 #PHP
php 前一天或后一天的日期
Jun 28 #PHP
js下函数般调用正则的方法附代码
Jun 22 #PHP
php的正则处理函数总结分析
Jun 20 #PHP
PHP伪静态页面函数附使用方法
Jun 20 #PHP
PHP伪静态写法附代码
Jun 20 #PHP
You might like
php中引用符号(&)的使用详解
2013/11/13 PHP
php数组删除元素示例
2014/03/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
js 动态选中下拉框
2009/11/26 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
中专毕业生求职简历的自我评价
2013/10/21 职场文书
高三高考决心书
2014/03/11 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android