300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > PHP检测字符串是否为UTF8编码4种方法

PHP检测字符串是否为UTF8编码4种方法

时间:2023-07-31 08:22:55

相关推荐

PHP检测字符串是否为UTF8编码4种方法

php教程|php手册

php检测字符串,utf8编码

php教程-php手册

检测字符串编码可以有很多种方法,如利用ord获得字符的进制然后进入判断,或利用mb_detect_encoding函数来处理,下面整理了几种方法.

网页下载app源码,vscode破解版有什么好,ubuntu桌面界面,项目tomcat启动不起来,爬虫如何牟利,php内核源码分析,seo中什么转化率最高lzw

例子1,代码如下:

在线查看源码,ubuntu装完卡在重启,爬虫爬房源数据,php快,seo的优劣lzw

/** * 检测字符串是否为UTF8编码 * @param string $str 被检测的字符串 * @return boolean */ function is_utf8($str){$len = strlen($str);for($i = 0; $i 128) { if (($c > 247)) return false; elseif ($c > 239) $bytes = 4; elseif ($c > 223) $bytes = 3; elseif ($c > 191) $bytes = 2; else return false; if (($i + $bytes) > $len) return false; while ($bytes > 1) { $i++; $b = ord($str[$i]); if ($b 191) return false; $bytes--; } }}return true; }

例子2,代码如下:

php 推广链接源码,ubuntu安装rdp服务,tomcat7图书电子版,网络爬虫详细教程,php输出1到100怎么弄,运城网站seolzw

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%准确,这个东西已经可以基本满足要求了.

例子3,代码如下:

function mb_is_utf8($string) { return mb_detect_encoding($string, UTF-8) === UTF-8;//新发现 }

例子4,代码如下:

// Returns true if $string is valid UTF-8 and false otherwise. function is_utf8($word) { if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true) { return true; } else { return false; } } // function is_utf8

教学链接:

随意转载~但请保留教学地址★

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。