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


Posted in PHP onOctober 30, 2016

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 相关文章推荐
PHP 和 COM
Oct 09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
PHP 学习路线与时间表
Feb 21 PHP
php session安全问题分析
Jun 24 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP输出Excel PHPExcel的方法
Jul 26 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 #PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 #PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 #PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 #PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 #PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 #PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 #PHP
You might like
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
python机器学习之KNN分类算法
2018/08/29 Python
在python中安装basemap的教程
2018/09/20 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
母亲追悼会答谢词
2014/01/27 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
新郎答谢词
2015/01/04 职场文书
商场收银员岗位职责
2015/04/07 职场文书
六年级作文之预言作文
2019/10/25 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python