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下几种删除目录的方法总结
Aug 19 PHP
php笔记之常用文件操作
Oct 12 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
joomla数据库操作示例代码
Jan 06 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
php自定义函数转换html标签示例
Sep 29 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
php源码的使用方法讲解
Sep 26 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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
一个数据采集类
2007/02/14 PHP
php二分法在IP地址查询中的应用
2008/08/12 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
js tab 选项卡
2009/04/26 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
js实现随机抽奖
2020/03/19 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
python统计中文字符数量的两种方法
2019/01/31 Python
numpy.where() 用法详解
2019/05/27 Python
python urllib爬虫模块使用解析
2019/09/05 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
大学生自我鉴定范文模板
2014/01/21 职场文书
群众路线表态发言材料
2014/10/17 职场文书
2015年大学生实习评语
2015/03/25 职场文书
房租涨价通知
2015/04/23 职场文书
家长通知书家长意见
2015/06/03 职场文书
创业计划书之酒店
2019/08/30 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js