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&amp;&amp;mysql)六
Oct 09 PHP
全文搜索和替换
Oct 09 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
php后门URL的防范
Nov 12 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
smarty表格换行实例
Dec 15 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
php中文语义分析实现方法示例
Sep 28 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
Apr 01 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
文章推荐系统(三)
2006/10/09 PHP
php array_search() 函数使用
2010/04/13 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
深入理解Javascript闭包 新手版
2010/12/28 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Django url 路由匹配过程详解
2021/01/22 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
活动邀请函范文
2014/01/19 职场文书
勾股定理课后反思
2014/04/26 职场文书
优秀纪检干部材料
2014/08/27 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
教代会闭幕词
2015/01/28 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
MySQL三种方式实现递归查询
2022/04/18 MySQL
Web应用开发TypeScript使用详解
2022/05/25 Javascript