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目录操作函数之获取目录与文件的类型
Dec 29 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php基础学习之变量的使用
Jun 09 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
php使用session二维数组实例
Nov 06 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
PHP数组实例详解
Jun 26 PHP
php blowfish加密解密算法
Jul 02 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
如何运行/调试你的PHP代码
Oct 23 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&amp;mysql(二)
2006/10/09 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
php递归函数怎么用才有效
2018/02/24 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
JavaScript 对象模型 执行模型
2010/10/15 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
js实现星星打分效果
2020/07/05 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
使用python加密自己的密码
2015/08/04 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python Flask基础教程示例代码
2018/02/07 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
python 制作磁力搜索工具
2021/03/04 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
大学生专业个人学习的自我评价
2013/10/26 职场文书
培训主管的岗位职责
2013/11/23 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
警示教育片观后感
2015/06/17 职场文书