php 截取utf-8格式的字符串实例代码
php截取utf-8格式的字符串
php中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在时下国际流行的UTF8编码中,一个中文字符占用3个字节。本文章向大家介绍一个php截取utf-8格式字符串的函数。
举例说明:
functiontruncate_utf8_string($string,$length,$etc='...'){ $result=''; $string=html_entity_decode(trim(strip_tags($string)),ENT_QUOTES,'UTF-8'); $strlen=strlen($string); for($i=0;(($i<$strlen)&&($length>0));$i++){ if($number=strpos(str_pad(decbin(ord(substr($string,$i,1))),8,'0',STR_PAD_LEFT),'0')){ if($length<1.0){ break; } $result.=substr($string,$i,$number); $length-=1.0; $i+=$number-1; }else{ $result.=substr($string,$i,1); $length-=0.5; } } $result=htmlspecialchars($result,ENT_QUOTES,'UTF-8'); if($i<$strlen){ $result.=$etc; } return$result; }
如果需要截取utf-8格式的字符串,直接调用这个函数即可。
<?php $str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。"; echotruncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格... ?>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!