永发信息网

php str_replace不生效

答案:2  悬赏:20  手机版
解决时间 2021-01-30 04:02
  • 提问者网友:相思似海深
  • 2021-01-29 19:35
str_replace第一次数组替换成功,第二次不起作用,什么原因?

这是两个方法,第一个是提取所有链接,第二是转换
然后:

$y和$h是正常转换的,下面用y和h两个数组来进行替换,就不成功了,请问问题出在哪里?如何解决?

这个是打印出来的y,正常

这个是h,正常,说明第二个转换的方法是正常的,但str_replace执行后结果是这样:

只把index.php给转换了,后面的都没起作用

将第二个方法里的数组元素去掉,都只替换第一个,比如
array('?','&')
只有?符号被替换

请问什么原因?

另外,有没有办法直接用正则来替换的,链接格式:index.php?参数a=....&参数b=......
参数数量不定,名称可以圈定一个范围
有办法直接用正则来替换么?















最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-01-29 21:12
这是因为php的弱变量类型引起的,强行指定string即可,类似的php bug还有int类型数字与string类型数字之间的计算
全部回答
  • 1楼网友:鸠书
  • 2021-01-29 21:52
反斜杠用于转义特殊字符,同时反斜杠本身也是特殊字符,因此需要对自己进行转义,即用两个连续的反斜杠表示一个反斜杠。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯