php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析


Posted in PHP onJune 10, 2014

示例代码,用到了函数substr与iconv_substr,mb_substr

<html>
<head><meta charset='utf-8'>
<title>截取中文字符串_三水点靠木_3water.com</title>
</head>
<body>
<?php
$str='123三水点靠木456欢迎大家的光临';
echo substr($str,0,4);
echo '<br>';
echo iconv_substr($str,0,4,'utf-8');
echo '<br>';
echo mb_substr($str,0,4,'utf-8');
?>
</body>
</html>

说明:
以上代码用到了二个函数iconv_substr和mb_substr,均可以在当前字符下进行字符串截取,以达到中文字符截取的不乱码。

应该如何选择呢?

1、iconv库在某些操作系统上可能运行不正确,需要安装GNU扩展库以保证它的正常运行。mb_substr函数的兼容性更好。

2、iconv函数会先将当前字符串转换为相应的编码再进行截取,而mb函数则是直接根据指定的编码进行截取(提供安全的多字节截取),所以mb函数的截取效率更高。

因此,mb_substr函数进行中文字符串的截取为最合适的选择。

PHP 相关文章推荐
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php中长文章分页显示实现代码
Sep 29 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 PHP
php实现的生成排列算法示例
Jul 25 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 #PHP
解决CodeIgniter伪静态失效
Jun 09 #PHP
CI(CodeIgniter)框架介绍
Jun 09 #PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 #PHP
PHP小教程之实现链表
Jun 09 #PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 #PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 #PHP
You might like
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
python机器学习之神经网络(二)
2017/12/20 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python虚拟环境完美部署教程
2019/08/06 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Python内置函数及功能简介汇总
2020/10/13 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
企业员工辞职信范文
2015/05/12 职场文书
地心历险记观后感
2015/06/15 职场文书
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript