在PHP中通过RegEx获取URL的GET参数
Obtain the GET parameters of URL by RegEx in PHP
我正在学习正则表达式的路上,我试图找机会从给定的URL中获取GET参数。例如,找到 ? 和 = 之间以及 & 和 =[ 之间的单词=28=]
我试过这样的东西
$query = $_REQUEST["query"];
preg_match_all('/\B(\?|&).*=\B/', $query, $param_keys);
https://regex101.com/r/ZzB4pX/1
但似乎工作不正常。另外,我怎样才能得到最后一个 =?
之后的最后一个词
您可以使用如下正则表达式获取查询参数:
[\?|&](.*?)=([^&]*)
翻译:寻找以 ?
或 &
开头的模式,后跟最小数量的随机字符(我们在捕获组中捕获),然后是 =
后跟最大的非 &
字符组(也在捕获组中)。
我正在学习正则表达式的路上,我试图找机会从给定的URL中获取GET参数。例如,找到 ? 和 = 之间以及 & 和 =[ 之间的单词=28=]
我试过这样的东西
$query = $_REQUEST["query"];
preg_match_all('/\B(\?|&).*=\B/', $query, $param_keys);
https://regex101.com/r/ZzB4pX/1
但似乎工作不正常。另外,我怎样才能得到最后一个 =?
之后的最后一个词您可以使用如下正则表达式获取查询参数:
[\?|&](.*?)=([^&]*)
翻译:寻找以 ?
或 &
开头的模式,后跟最小数量的随机字符(我们在捕获组中捕获),然后是 =
后跟最大的非 &
字符组(也在捕获组中)。