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结合飞信 免费天气预报短信
May 07 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php面向对象编程self和static的区别
May 08 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
laravel自定义分页效果
Jul 23 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
php 解析非标准json、非规范json
Apr 01 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代码
2012/06/08 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PDO::query讲解
2019/01/29 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python3基础之函数用法
2014/08/13 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
建筑工程专业毕业生自荐信
2013/10/19 职场文书
大学毕业生通用自荐信范文
2013/10/31 职场文书
班主任工作年限证明
2014/01/12 职场文书
班级德育工作实施方案
2014/02/21 职场文书
2016年父亲节寄语
2015/12/04 职场文书
解除合同协议书范本
2016/03/21 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS