已有40人关注
一个关于PHP中substr_replace函数的问题
发表在PHP图书答疑 2011-07-01
是否精华
版块置顶:
呵呵,始终不知道这个函数中start跟length到底是什么意思。 比如:
echo substr_replace("用今日的辛勤工作,换未来的百倍回报!","明日",2,-30); 
输出结果为“用明日的辛勤工作,换未来的百倍回报!”,为什么"明日"替换的是
"今日"两个字呢,这里的start为2,只是说明了开始替换的位置,并没有指明要替换
哪些字符啊,比如str_ireplace函数:echo str_ireplace("c","d","abcabc"),
它明确的指出了要用"d"来替换"c",但是substr_replace函数并没有明确的指明
要去替换哪个。还有2跟-30的长度到底怎么算,一个汉字、一个英文或数字、一
个特殊字符(比如感叹号"!"),他们各代表多长,比如如果start为2,
那么echo substr_replace("abcd","h",2)从哪里开始替换?
而echo substr_replace("用今日的辛勤工作,换未来的百倍回报!","明日",2,-30)从哪里开始替换?
这个例子的-30表示起始位置从后面开始,从哪个字符数到哪个字符呢,里面的感叹号"!"占多长?
而句子里的逗号","跟空格""占多长呢?
还有一个例子:
$str="我们之间的爱轻的像空气 而我依然承受不起";
echo substr_replace($str,",","44","1");
输出结果为"我们之间的爱轻的像空气,而我依然承受不起",
这个例子是要用逗号去替换空格,里面的start为什么是44呢
这个44是怎么算出来的?
而 length怎么是1呢,length不是代表返回的字符串的长度吗?
渴求老师的解答!
分享到:
精彩评论 1
346827366
学分:0 LV1
2011-07-19
沙发
第一个参数是指定操作的字符串;

第二个参数是使用的替换内容;

第三个参数是指定替换开始的位置;

第四个参数是指定替换的长度。


首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照