PHP如何结合截取与正则方法从指定URL中提取MYID字符串
方案1:直接结合现有两段逻辑
你只需要调整两段代码的执行顺序,先裁剪掉?out=及之后的所有内容,再替换掉URL前缀即可,代码如下:
$url = "https://whatever.expamle.com/display/MYID?out=1234567890?Browser=0?OS=1"; // 第一步:截取?out=之前的内容 $url_base = substr($url, 0, strpos($url, "?out=")); // 第二步:替换前缀得到MYID $myid = preg_replace('#^https?://whatever.expamle.com/display/#', '', $url_base); echo $myid;
输出结果为MYID。
方案2:更简洁的单步正则匹配
不用分两步操作,直接用正则捕获/display/之后、第一个?之前的内容即可,兼容性更强,就算后续查询参数前缀变化也能正常提取:
$url = "https://whatever.expamle.com/display/MYID?out=1234567890?Browser=0?OS=1"; preg_match('#/display/([^?]+)#', $url, $matches); $myid = $matches[1] ?? ''; echo $myid;
内容的提问来源于stack exchange,提问作者user16370794
相关产品推荐
相关产品推荐

