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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
PHP实现的简单日历类
Nov 29 PHP
PHP简单选择排序算法实例
Jan 26 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
PHP7 新增功能
Mar 09 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查询附近的人及其距离的实现方法
2016/05/11 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
var与Javascript变量隐式声明
2009/09/17 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python传递参数方式小结
2015/04/17 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
对Python _取log的几种方式小结
2019/07/25 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
外科实习自我鉴定
2013/10/06 职场文书
应聘自荐信
2013/12/14 职场文书
成绩单公证书
2014/04/10 职场文书
《开国大典》教学反思
2014/04/19 职场文书
借款协议书范本
2014/04/22 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python