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邮件专题
Oct 09 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
Python unittest模块用法实例分析
2018/05/25 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
网吧消防安全制度
2014/01/28 职场文书
专业技术职务聘任书
2014/03/29 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
开幕式邀请函
2015/01/31 职场文书
计划生育工作总结2015
2015/04/03 职场文书
大学推普周活动总结
2015/05/07 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
Pytest中skip skipif跳过用例详解
2021/06/30 Python