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 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
php时区转换转换函数
Jan 07 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php格式化金额函数分享
Feb 02 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
详细解读php的命名空间(一)
Feb 21 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
php判断目录存在的简单方法
Sep 26 PHP
php使用event扩展的io复用测试的示例
Oct 20 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
基于empty函数的判断详解
2013/06/17 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
js 验证密码强弱的小例子
2013/03/21 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
python检测服务器端口代码实例
2019/08/31 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
PHP面试题及答案一
2012/06/18 面试题
《小猪家的桃花树》教学反思
2014/04/11 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android