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中的登陆login
Jan 18 PHP
PHP 基本语法格式
Dec 15 PHP
深入探讨PHP中的内存管理问题
Aug 31 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
PHP多进程编程实例详解
Jul 19 PHP
php实现微信模板消息推送
Mar 30 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
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
再谈JavaScript线程
2015/07/10 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
基于javascript的拖拽类封装详解
2019/04/19 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
Python操作列表的常用方法分享
2014/02/13 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
python访问抓取网页常用命令总结
2017/04/11 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
Django  ORM 练习题及答案
2019/07/19 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
python读文件的步骤
2019/10/08 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
2013的个人自我评价
2013/12/26 职场文书
公安学专业求职信
2014/07/27 职场文书
出售房屋协议书范本
2014/10/06 职场文书
爱国影片观后感
2015/06/18 职场文书
红白喜事主持词
2015/07/06 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书