php教程

超轻量级php框架startmvc

php 截取utf-8格式的字符串实例代码

更新时间:2020-03-14 02:46:45 作者:startmvc
php截取utf-8格式的字符串php中,我们经常需要截取字符串。英文字符占用一个字节,中文字

php 截取utf-8格式的字符串

php中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在时下国际流行的UTF8编码中,一个中文字符占用3个字节。本文章向大家介绍一个php 截取utf-8格式字符串的函数。

举例说明:


function truncate_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格式的字符串,直接调用这个函数即可。";
 echo truncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...
?>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

php 截取utf-8格式 php utf-8字符串截取 php utf-8