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 类型转换函数intval
Jun 20 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
PHP文件操作实例总结
Sep 27 PHP
Laravel日志用法详解
Oct 09 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 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
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php中的ini配置原理详解
2014/10/14 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
Python模拟登录的多种方法(四种)
2018/06/01 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
python实现简易动态时钟
2018/11/19 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
捷克玩具商店:Bambule
2019/02/23 全球购物
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
小学体育教学反思
2014/01/31 职场文书
影视后期实训报告
2014/11/05 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
酒店前台岗位职责
2015/04/16 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android