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 相关文章推荐
我的论坛源代码(三)
Oct 09 PHP
基于mysql的bbs设计(四)
Oct 09 PHP
PHP 金额数字转换成英文
May 06 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
php中的strpos使用示例
Feb 27 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
Jan 17 PHP
php微信开发之关注事件
Jun 14 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/09/11 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
Vue分页插件的前后端配置与使用
2019/10/09 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python字符串排序方法
2014/08/29 Python
详解Python正则表达式re模块
2019/03/19 Python
selenium+python环境配置教程详解
2019/05/28 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
环保倡议书
2014/04/14 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
入党推优材料
2014/06/02 职场文书
双拥工作宣传标语
2014/06/26 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
html5调用摄像头实例代码
2021/06/28 HTML / CSS
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis