PHP函数 rtrim() 的一个怪异现象
今天用rtrim()函数时遇到了一个奇怪的问题:
echo rtrim('<p></div>', '</div>'); // 输出为 <p
echo ltrim('www.cnblogs.com','www.'); // 输出为 cnblogs.com
以上的输出结果有点出人意料,本来我想第一行应该输出<p>,第二行会输出cnblogs.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。
参考:
http://www.w3school.com.cn/php/func_string_rtrim.asp
PHP函数 rtrim() 的一个怪异现象的更多相关文章
- android ListView的怪异现象
我们已经知道,当条目没显示一次,那个类重写的最后一个函数就执行一次,但是现在,发生了怪异现象!当窗体的属性设置为包裹的时候,会重复显示多次,所以,高度,宽度都要设置为充满类型才可以
- 你所不了解的float(滥用float的怪异现象)
float设计初衷就是为了实现文字环绕效果 原本页面流布局显示如上图所示,运用了float属性后就显示为如下图所示,这就是浮动的设计初衷 float的一些特性:包裹性.破坏性. 包裹的特性其实主要有三 ...
- 你所不了解的float(滥用float的怪异现象) (转)
阅读目录 float设计初衷就是为了实现文字环绕效果 如何解决浮动造成的父容器塌陷? 兼容各浏览器清除浮动的通用方式 滥用浮动 运用浮动的一些特性 浮动与布局 浮动与单侧固定布局 浮动与智能自适应的流 ...
- (转)自己来控制EntityFramework4.1 Code-First,逐步消除EF之怪异现象
转自:http://www.cnblogs.com/richwong/archive/2011/07/06/2098759.html 最近的项目开始使用EF4.1,拜读各路大侠文章数遍,满以为可以轻车 ...
- delphi 字符串处理中的怪异现象与处理
1, 怪异现象:字符串相加操作不正常! 以上代码,明显输出字符串应含有后缀“.jpg”,但实际输出却不含后缀(如下),字符串加法操作似乎不起作用了! 采用showMessage进行输出,看看结果如何? ...
- Entity Framework 6 Recipes 2nd Edition(11-6)译 -> 从一个”模型定义”函数里返回一个复杂类型
11-6.从一个”模型定义”函数里返回一个复杂类型 问题 想要从一个”模型定义”函数返回一个复杂类型 解决方案 假设我们有一个病人(patient)和他们访客(visit)的模型,如 Figure 1 ...
- Java-集合(没做出来)第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如: List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Learn”); //此时list 为Hello World Learn reverseL
没做出来 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列. 例如: List list = new ArrayList(); list.a ...
- 字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。
split() 方法将字符串分割为字符串数组,并返回此数组. stringObject.split(separator,limit) 我们将按照不同的方式来分割字符串: 使用指定符号分割字符串,代码如 ...
- 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果
package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10 ...
随机推荐
- 【Alpha阶段】第八次Scrum例会
会议信息 时间:2016.11.01 21:30 时长:60min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.11.03 21:30 个人任务报告 姓名 今日已完成Is ...
- 初识JSLint及建议JS编码风格
可能都或多或少的知道JSLint是一个JavaScript的代码质量工具,一个JavaScript语法检查器和校验器,它能分析JavaScript问题并报告它包含的缺点. 被发现的问题往往是语法错误, ...
- 捉襟见肘之自定义自拍相机AVFoundation
因为上篇的问题的,我搜索到解决方法: http://stackoverflow.com/questions/5427656/ios-uiimagepickercontroller-result-ima ...
- Distinct
SELECT 指令让我们能够读取表格中一个或数个栏位的所有资料.这将把所有的资料都抓出,无论资料值有无重复.在资料处理中,我们会经常碰到需要找出表格内的不同资料值的情况.换句话说,我们需要知道这个表格 ...
- useradd命令老是忘记的参数
useradd有些参数老是忘记,是用的少还是不熟练呢?记录下吧 [root@svn ~]# useradd --help 用法:useradd [选项] 登录 useradd -D useradd - ...
- 取出return array() 数组内容
d.php文件 return array( "0" => 内容一, "1" => 内容二, "2" => 内容三, &qu ...
- -[UIWindow viewForFirstBaselineLayout]: unrecognized selector sent to instance
#ifdef DEBUG #import <UIKit/UIKit.h> #import <objc/runtime.h> @implementation UIView (Fi ...
- github打不开
所用方法:修改host文件 一.键入网址:http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 拿到github.global.ssl.f ...
- iTunes访问自己应用的沙盒
- Session共享的解决方案
http://www.cnblogs.com/xinhaijulan/archive/2010/08/21/1805116.html Session共享的解决方案 1.客户端SessionID值唯一: ...