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 的 __FILE__ 常量
Jan 15 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
php把session写入数据库示例
Feb 26 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
Mar 27 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 PHP
php去除deprecated的实例方法
Nov 17 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
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php设计模式之委托模式
2016/02/13 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
python Selenium 库的使用技巧
2020/10/16 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
Python pandas之求和运算和非空值个数统计
2021/08/07 Python