中文截取无乱码(2种方法)//$str 待截取的字符串//$len 截取的字符个数//$chars 已经截取的字符数//$res 保存的字符串//$chars 保存已经截取的字符串个数//$offset 截取的偏移量//$length 字符串的字节数//若$len>$str的字符个数,造成无谓的while循环,($offsetfunction utf8sub($str,$len){if($len return ;}$res="";$offset=0;$chars=0;$length=strlen($str);while($chars$hign=decbin(ord(substr($str,$offset,1)));if(strlen($hign) $count=1;}elseif(substr($hign,0,3)=="110"){$count=2;}elseif(substr($hign,0,4)=="1110"){$count=3;}elseif(substr($hign,0,5)=="11110"){$count=4;}elseif(substr($hign,0,6)=="111110"){$count=5;}elseif(substr($hign,0,7)=="1111110"){$count=6;}$res.=substr($str,$offset,$count);$offset+=$count;$chars+=1;}return $res;}function utf8sub1($str,$len){$chars=0;$res="";$offset=0;$length=strlen($str);while($chars $hign=decbin(ord(substr($str,$offset,1)));if(strlen($hign) $count=1;}elseif($hign & "11100000"=="11000000"){$count=2;}elseif($hign & "11110000"=="11100000"){$count=3;}elseif($hign & "11111000"=="11110000"){$count=4;}elseif($hign & "11111100"=="11111000"){$count=5;}elseif($hign & "11111110"=="11111100"){$count=6;}$res.=substr($str,$offset,$count);$chars++;$offset+=$count;}return $res;}$a="中华ah人民hdj";echo utf8sub($a,5);?>复制代码
相关文章
- php require_once怎么用
- CleverPDF 是免费的吗 | CleverPDF 电脑版功能免费吗
- PHP中session的使用_PHP教程
- c++中如何实现字符串的按长度分割_c++指定长度拆分字符串方法【详解】
- WOWEMU1.3.1模拟器GM命令
- php上传文件的简单示例
- PHP 中文字符串截取无乱码的步骤以及php汉字截取函数_preg_split()
- php提示Fatal error: Call to undefined function openssl_x509_parse()
- PHP怎么制作简单爬虫_PHP实现网页内容抓取方法【技巧】
- Nginx服务器上安装并配置PHPMyAdmin的教程_php技巧
