使用 Preg_Match 在特殊字符之间提取两个值
Extract Two Value between special characters with Preg_Match
您好,我想用一个 preg_match_all
提取用户名和密码值
$url='http://xxxxxxxx.com:80/get.php?username=xxxxxx&password=xxxxxx&type=m3u_plus';
我得到了这个在我想要的地方爆炸,但我知道 preg_match_all 效果更好,你能告诉我怎么做吗?
$url_ext = parse_url($url);
$username=explode ("&",explode("=",$url_ext['query'])[1]);
$password=explode ("&",explode("=",$url_ext['query'])[2]);
我尝试使用此代码但无法正常工作
$lotes_fil='~https?://.\=(.+?)&~';
preg_match_all($lotes_fil,$url,$link_pre);
最好使用 parse_url
和 parse_str
,如 here 所述。
但是,如果你真的想要一个正则表达式,这就可以了:
(?<=[?&])([^&=\r\n]+)=([^&=\r\n]+)
preg_match_all('/(?<=[?&])([^&=\r\n]+)=([^&=\r\n]+)/', $url, $matches);
参数名在组1,值在组2
您好,我想用一个 preg_match_all
提取用户名和密码值$url='http://xxxxxxxx.com:80/get.php?username=xxxxxx&password=xxxxxx&type=m3u_plus';
我得到了这个在我想要的地方爆炸,但我知道 preg_match_all 效果更好,你能告诉我怎么做吗?
$url_ext = parse_url($url);
$username=explode ("&",explode("=",$url_ext['query'])[1]);
$password=explode ("&",explode("=",$url_ext['query'])[2]);
我尝试使用此代码但无法正常工作
$lotes_fil='~https?://.\=(.+?)&~';
preg_match_all($lotes_fil,$url,$link_pre);
最好使用 parse_url
和 parse_str
,如 here 所述。
但是,如果你真的想要一个正则表达式,这就可以了:
(?<=[?&])([^&=\r\n]+)=([^&=\r\n]+)
preg_match_all('/(?<=[?&])([^&=\r\n]+)=([^&=\r\n]+)/', $url, $matches);
参数名在组1,值在组2