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 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 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
Array of country list in PHP with Zend Framework
2011/10/17 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
php封装的page分页类完整实例
2016/10/18 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
Move.js入门
2017/02/08 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
socket.io实现在线群聊功能
2017/04/07 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
python套接字流重定向实例汇总
2016/03/03 Python
python遍历目录的方法小结
2016/04/28 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
python面试题小结附答案实例代码
2019/04/11 Python
Python代码太长换行的实现
2019/07/05 Python
python mysql断开重连的实现方法
2019/07/26 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
Python绘制动态水球图过程详解
2020/06/03 Python
python如何实现word批量转HTML
2020/09/30 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
乳制品整治工作方案
2014/05/29 职场文书
反邪教标语
2014/06/23 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers
postgresql中如何执行sql文件
2023/05/08 PostgreSQL