2 jiansva jiansva 于 2016.01.19 10:48 提问

3个回答

showbo
showbo   Ds   Rxr 2016.01.19 11:45
已采纳
 $url="http://www.hao123.com/down.php?pid=4014&Id={kk:0}&aaa={b:222}";
$arr=array(
'kk'=>1,
'b' =>2,
'c' => 3,
);
foreach ($arr as $k => $value) {
if(strstr("$url","$k:")){
$url=preg_replace("/\\{".$k.":\\d+\\}/",$value,$url);
}
}
echo $url;
jiansva
jiansva 回复无聊码农: 厉害,多谢指点!
接近 2 年之前 回复
showbo
showbo 回复jiansva: $url=preg_replace("/\\{[a-z]+:(\\d+)\\}/","$1",$url);,应该这样吧,按照分组。。php不是很会
接近 2 年之前 回复
jiansva
jiansva 如果是直接替换成:后面的内容呢?{a:0}替换成0,{b:222}替换成222
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.01.19 10:56

图片说明

js

 'http://www.hao123.com/down.php?pid=4014&Id={a:0}&aaa={b:222}'.replace(/\{a:0\}/,'1').replace(/\{b:222\}/,'2')
jiansva
jiansva   2016.01.19 11:21

如果a,b都是变量呢?
$url="http://www.hao123.com/down.php?pid=4014&Id={kk:0}&aaa={b:222}";
$arr=array(
'kk'=>1,
'b' =>2,
'c' => 3,
);
foreach ($arr as $k => $value) {
if(strstr("$url","$k")){
$url=preg_replace("/{.*?:.*?}/",$value,$url);
}
}
echo $url;

这样的话,都替换成一个了,http://www.hao123.com/down.php?pid=4014&Id=1&aaa=1,显然是错的,
应该是:http://www.hao123.com/down.php?pid=4014&Id=1&aaa=2;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!