时间:2021-05-26
本文实例讲述了PHP函数rtrim()使用中的怪异现象。分享给大家供大家参考,具体如下:
今天用rtrim()函数时遇到了一个奇怪的问题:
echo rtrim('<p></div>', '</div>'); // 输出为 <pecho ltrim('www.jb51.net','www.'); // 输出为 jb51.net以上的输出结果有点出人意料,本来我想第一行应该输出<p>,第二行会输出jb51.net。
这个问题纠结了我好久,一直没有找到原因,后来在手册中找到了答案:
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。
由此可见,rtrim、ltrim与trim第二个参数是作为一组字符列表进行匹配操作的。这与我们以往认识的str_replace函数的替换操作不一样。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php中ltrim()、rtrim()与trim()删除字符空格的方法。分享给大家供大家参考。具体分析如下:php中的trim函数不能像asp中的
本文实例分析了PHP中ltrim与rtrim去除左右空格及特殊字符的用法。分享给大家供大家参考,具体如下:一、PHP中ltrim定义如下:ltrim(strin
本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法。分享给大家供大家参考。具体分析如下:PHP使用in_array()函数检查数组中是否
本文实例分析了php中Ctype函数用法。分享给大家供大家参考。具体分析如下:Ctype函数是Php的Ctype扩展函数提供了一组函数用于校验字符串中的字符是否
本文实例讲述了php检查日期函数checkdate用法。分享给大家供大家参考。具体分析如下:php中可以使用checkdate函数校验日期的正确性。语法inte