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 相关文章推荐
数字转英文
Dec 06 PHP
php下使用SMTP发邮件的代码
Jan 10 PHP
PHP 超链接 抓取实现代码
Jun 29 PHP
程序员编程十条戒律
Jul 09 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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 动态多文件上传
2009/01/18 PHP
javascript:void(0)使用探讨
2013/08/27 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
详解Node 定时器
2018/02/26 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
Python 数据结构之队列的实现
2017/01/22 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
Python3处理HTTP请求的实例
2018/05/10 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
使用python远程操作linux过程解析
2019/12/04 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
幼师自荐信
2013/10/26 职场文书
毕业寄语大全
2014/04/09 职场文书
小学生操行评语大全
2014/04/22 职场文书
师德师风承诺书
2014/05/23 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
停车位租赁协议书
2014/09/24 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL