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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
php 404错误页面实现代码
Jun 22 PHP
PHP 手机归属地查询 api
Feb 08 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
Jun 23 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 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
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
PyCharm代码格式调整方法
2018/05/23 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
精选奢华:THE LIST
2019/09/05 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
2014年百日安全生产活动总结
2014/05/04 职场文书
2014年法院工作总结
2014/11/24 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
大学生实习介绍信
2015/05/05 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫