PHP函数rtrim()使用中的怪异现象分析


Posted in PHP onFebruary 24, 2017

本文实例讲述了PHP函数rtrim()使用中的怪异现象。分享给大家供大家参考,具体如下:

今天用rtrim()函数时遇到了一个奇怪的问题:

echo rtrim('<p></div>', '</div>'); // 输出为 <p
echo ltrim('3water.com','www.'); // 输出为 3water.com

以上的输出结果有点出人意料,本来我想第一行应该输出<p>,第二行会输出3water.com。

这个问题纠结了我好久,一直没有找到原因,后来在手册中找到了答案:

rtrim()是以字符为单位替换,而不是以字符串的。从右往左替换时</div>6个字符肯定会被替换掉的,再往左时遇到了>,因为>也包含在rtirm()的第二个参数的字符串(</div>)中,所以也被替换掉了,当再往左时遇到了p,这时p不包含在第二个参数的字符串中。所以替换停止,输出了<p。

如果这样理解的话,第二行的输出结果就是在意料之中了。呵呵……手册中已经写的清清楚楚了。原文:

You can also specify the characters you want to strip, by means of the charlist parameter. Simply list all characters that you want to be stripped. With .. you can specify a range of characters。

由此可见,rtrimltrimtrim第二个参数是作为一组字符列表进行匹配操作的。这与我们以往认识的str_replace函数的替换操作不一样。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
PHP中header用法小结
May 23 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
实例讲解PHP页面静态化
Feb 05 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
CakePHP框架Session设置方法分析
Feb 23 #PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 #PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 #PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 #PHP
利用php生成验证码
Feb 23 #PHP
php实现base64图片上传方式实例代码
Feb 22 #PHP
php中实现字符串翻转的方法
Feb 22 #PHP
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
PHP模板解析类实例
2015/07/09 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
浅析js封装和作用域
2013/07/09 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
python调用新浪微博API项目实践
2014/07/28 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python解惑之True和False详解
2017/04/24 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
Java模拟试题
2014/11/10 面试题
副总经理岗位职责
2014/03/16 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
就业协议书样本
2014/08/20 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
解约证明模板
2015/06/19 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL