本帖最后由 conrst 于 2013-03-04 16:19:37 编辑 字符串是这样的
&aaa=111&bbb=222&ccc=333...
现在想用正规匹配得到aaa和111这样的值
$regstr='/&(.*)=(.*)/'; //请问这个表达式是不是有问题 我这里的输出结果不对
if(preg_match($regstr,$urladd,$mat))
{
print_r($mat); //这里如何输出 aaa和 111 这样的两个变量的值
}
上面代码输出有问题,贴出来是让大家看明白,请大家帮忙
------解决方案--------------------
$regstr='/&(.*?)=([^&]+)/';
------解决方案--------------------
$str='&aaa=111&bbb=222&ccc=333';
preg_match_all('/&(\w+)=(\w+)/i',$str,$result);
var_dump($result);
array(3) {
[0]=>
array(3) {
[0]=>
string(8) &aaa=111
[1]=>
string(8) &bbb=222
[2]=>
string(8) &ccc=333
}
[1]=>
array(3) {
[0]=>
string(3) aaa
[1]=>
string(3) bbb
[2]=>
string(3) ccc
}
[2]=>
array(3) {
[0]=>
string(3) 111
[1]=>
string(3) 222
[2]=>
string(3) 333
}
}