Zac*_*ach 3 php regex parameters url capturing-group
我正在尝试通过正则表达式提取URL参数,并且非常接近让它工作.我甚至不知道问题是什么:我的正则表达式在重复的捕获组中磕磕绊绊.但我根本无法弄清楚如何解决它.
语言是PHP.
我的网址类似于下面的网址.它可以没有参数,只有一个或多个:
member.php?action=bla&arg=2&test=15&schedule=16
Run Code Online (Sandbox Code Playgroud)
我的正则表达式如下:
member\.php((?:[\?|&](\w*)=(\w*))*)
Run Code Online (Sandbox Code Playgroud)
我的捕获组最终成为:
1. action=bla&arg=2&test=15&schedule=16
2. schedule
3. 16
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何单独捕获所有参数.我是否只需要为第一个捕获组定居并自己爆炸?如果我可以在一个正则表达式中完成所有工作,那么对于我的目的来说会更优雅.
小智 9
try:
<?php
$str="member.php?action=bla&arg=2&test=15&schedule=16#test";
preg_match_all('/([^?&=#]+)=([^&#]*)/',$str,$m);
print_r($m);
//combine the keys and values onto an assoc array
$data=array_combine( $m[1], $m[2]);
print_r($data);
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7273 次 |
| 最近记录: |