正规表达式匹配的问题
本帖最后由 ConRst 于 2013-03-04 16:19:37 编辑
字符串是这样的
&AAA=111&BBB=222&CCC=333...
现在想用正规匹配得到AAA和111这样的值
1 2 3 4 5 6 7 8 | <br />
<br />
$RegStr = '/&(.*)=(.*)/' ;
if (preg_match( $RegStr , $urladd , $mat ))<br />
{<br />
print_r( $mat );
<br />
}<br />
|
로그인 후 복사
上面代码输出有问题,贴出来是让大家看明白,请大家帮忙
------解决方案--------------------$RegStr='/&(.*?)=([^&]+)/';
------解决方案--------------------1 2 3 4 | <br />
$str = '&AAA=111&BBB=222&CCC=333' ;<br />
preg_match_all( '/&(\w+)=(\w+)/i' , $str , $result );<br />
var_dump( $result );<br />
|
로그인 후 복사
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"
}
}