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

 更新时间:2014年06月10日 08:46:03   作者:  
php进行中文字符串的截取时,会经常用到二个函数iconv_substr和mb_substr,对这二个函数应该如何选择呢?参考下本文介绍的例子就明白了。

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

复制代码 代码如下:

<html>
<head><meta charset='utf-8'>
<title>截取中文字符串_脚本之家_www.jb51.net</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操作mysql数据库分表的方法

    PHP操作mysql数据库分表的方法

    这篇文章主要介绍了PHP操作mysql数据库分表的方法的相关资料,需要的朋友可以参考下
    2016-06-06
  • 几道坑人的PHP面试题 试试看看你会不会也中招

    几道坑人的PHP面试题 试试看看你会不会也中招

    这篇文章主要介绍了几道坑人的PHP面试题,试试看看你会不会也中招,这些题目都用了一些障眼法,需要你有一双火眼金睛哦,需要的朋友可以参考下
    2014-08-08
  • joomla实现注册用户添加新字段的方法

    joomla实现注册用户添加新字段的方法

    这篇文章主要介绍了joomla实现注册用户添加新字段的方法,实例分析了Joomla注册用户添加新字段的步骤与相关实现技巧,需要的朋友可以参考下
    2016-05-05
  • php实现常用文件上传类的示例

    php实现常用文件上传类的示例

    下面小编就为大家带来一篇php实现常用文件上传类的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • ThinkPHP实现将本地文件打包成zip下载

    ThinkPHP实现将本地文件打包成zip下载

    这篇文章主要介绍了ThinkPHP实现将本地文件打包成zip下载的方法,需要的朋友可以参考下
    2014-06-06
  • Laravel 5框架学习之Laravel入门和新建项目

    Laravel 5框架学习之Laravel入门和新建项目

    这篇文章主要是Laravel5框架学习系列的第一篇文章,跟其他开篇文章一样,我们来学习下Laravel入门和新建项目,十分的简单易懂,有需要的小伙伴可以参考下。
    2015-04-04
  • Laravel框架实现定时发布任务的方法

    Laravel框架实现定时发布任务的方法

    这篇文章主要介绍了Laravel框架实现定时发布任务的方法,结合实例形式分析了使用Linux的cronTab功能实现定时发布任务的相关设置与操作技巧,需要的朋友可以参考下
    2018-08-08
  • 微信跳一跳php代码实现

    微信跳一跳php代码实现

    这篇文章主要为大家详细介绍了微信跳一跳辅助php代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 浅谈PHP中的那些魔术常量

    浅谈PHP中的那些魔术常量

    这篇文章主要介绍了浅谈PHP中的那些魔术常量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • ThinkPhP+Apache+PHPstorm整合框架流程图解

    ThinkPhP+Apache+PHPstorm整合框架流程图解

    这篇文章主要介绍了ThinkPhP+Apache+PHPstorm整合框架流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论