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

5年以前  |  阅读数:455 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例