php哪个函数具有字符串截取功能(php字符串截取函数mb_substr用法实例分析)
php哪个函数具有字符串截取功能
php字符串截取函数mb_substr用法实例分析本文实例讲述了php字符串截取函数mb_substr用法。分享给大家供大家参考,具体如下:
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串
(PHP 4 >= 4.0.6, PHP 5)
$str 要获取字符串的目标字符串(字符串起始位置为0)
$start,$str中要使用的第一个字符的位置
$length,获取的子字符串的长度(注意不是结束位置)
$encoding,可指定字符编码(一般用于处理中文字符时使用,同时这个问题碰到的非常多)
示例:
|
<?php mb_internal_encoding ( "UTF-8" ); //如果把UTF-8改为编码,下面针对于中文字符串处理的值会改变。 echo mb_internal_encoding(). "" ; //获取字符编码为ISO-8859-1 echo mb_substr( 'abcdefghijk' ,0,9). "" ; //abcdefghi echo mb_substr( 'abcdefghijk' ,1,5). "" ; //bcdef echo mb_substr( '我们都是中国人' ,0,9). "" ; //我们都是中国人 echo mb_substr( '我们都是中国人' ,0,9, 'gb2312' ). "" ; //我们都是中 echo mb_substr( '我们都是中国人' ,0,9, 'utf-8' ); //我们都是中国人 ?> |
总结:
1、在处理英文字符串的时候,该函数的第四个参数($encoding)可以忽略。
2、在处理中文字符串的时候,就要小心了,一定要考虑编码问题,编码不同,中文的值也不同。
3、在中文字符串导入数据库时,就显得更为重要了。
4、处理字符串或文本的编码能力,是衡量程序员功力的一项标准。
补充:substr和mb_substr的区别
异同点:
两个函数都是截取字符串的长度,不同的是mb_substr
可以针对多字节编码的汉字进行截取,从而防止乱码的出现
实例说明:
示例1:
|
<?php $chuan = "我是中国人!" ; echo substr ( $chuan ,0,3); echo '<br />' ; echo mb_substr( $chuan ,0,3, 'utf8' ); ?> |
运行结果:
我
我是中
在utf8编码下,由于一个汉字占3个字节,所以第一个输出的是: 我
第二个输出的是: 我是中
示例2:
|
<?php $chuan = "我是中国人!" ; echo substr ( $chuan ,0,-4); echo '<br />' ; echo mb_substr( $chuan ,0,-2, 'utf8' ); ?> |
运行结果:
我是中国
我是中国
两个输出的都是: 我是中国
第一个长度为负4,就会省略掉!和人,从零开始,就会包括我是中国
第二个同理
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/jinsanguo/p/7627359.html
- thinkphp5.0实例详解(ThinkPHP5&5.1框架关联模型分页操作示例)
- 怎么用php开发验证码(PHP简单验证码功能机制实例详解)
- thinkphp5.1请求流程(ThinkPHP5.0框架使用build 自动生成模块操作示例)
- php和xml有什么关系(PHP创建XML的方法示例基于DOMDocument类及SimpleXMLElement类)
- wampserver怎么使用(wampserver怎么用?如何使用wampserver来配置本地php环境)
- phpsession怎么用(PHP实现提高SESSION响应速度的几种方法详解)
- php回收机制(PHP session垃圾回收机制实例分析)
- php队列的用法实例(PHP实现一个限制实例化次数的类示例)
- php创建文件(php创建多级目录与级联删除文件的方法示例)
- phpstudy详细教程学习(phpstudy的php版本自由修改的方法)
- dedecms最新手册(在自己的php页面中使用dedecms标签的代码示例)
- php中钩子的理解与实例教程(php中钩子hook的原理与简单应用demo示例)
- php逻辑技巧图解(php版本CKEditor 4和CKFinder安装及配置方法图文教程)
- thinkphp远程代码执行教程(ThinkPHP 5.x远程命令执行漏洞复现)
- php面对对象的三大特性(php中对象引用和复制实例分析)
- php设计模式如何实现(php模式设计之观察者模式应用实例分析)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
- 成功破圈,小牛电动SQi强势开 跨(小牛电动SQi强势开)
- 挑战新国标电自天花板,九号机械师MMAX 110P深度体验(挑战新国标电自天花板)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9