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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
学习php分页代码实例
Oct 24 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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 变量定义方法
2009/06/14 PHP
js 一个关于图片onload加载的事
2013/11/10 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Python获取央视节目单的实现代码
2015/07/25 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
2014年高考决心书
2014/03/11 职场文书
付款委托书范本
2014/04/04 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
Golang入门之计时器
2022/05/04 Golang
Django框架中视图的用法
2022/06/10 Python