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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
也谈php网站在线人数统计
Apr 09 PHP
Php Cookie的一个使用注意点
Nov 08 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
一个很不错的PHP翻页类
Jun 01 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
简述php环境搭建与配置
Dec 05 PHP
PHP使用递归算法无限遍历数组示例
Jan 13 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 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
PHP date函数参数详解
2006/11/27 PHP
教大家制作简单的php日历
2015/11/17 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
PHP 8新特性简介
2020/08/18 PHP
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
flask项目集成swagger的方法
2020/12/09 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
机电一体化专业应届本科生求职信
2013/09/27 职场文书
寒假家长评语大全
2014/04/16 职场文书
演讲稿格式
2014/04/30 职场文书
国际商务专业求职信
2014/07/15 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
2015年消防工作总结
2015/04/24 职场文书
初中生物教学随笔
2015/08/15 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
Golang: 内建容器的用法
2021/05/05 Golang