如何使用正则表达式截取URL中&referer=和&username之间的部分?
如何正则截取&referer=和&username之间的部分?
给定一个url字符串,需要正则截取从&referer=到&username之间的部分。
示例url:
web.admin.com/admin/usermanage/investuser?start=2018-01-02%2000:00:00&end=2018-01-02%2010:41:46&itype=3&isfirst=3&referer=url_encoded_value&username=username
注意:
用户提供的示例url链接有误,包含未经url编码的特殊字符&,这意味着它不能被正则表达式可靠地解析。因此,下方提供的正则表达式仅适用于url编码正确的字符串,例如:
web.admin.com/admin/usermanage/investuser?start=2018-01-02%2000:00:00&end=2018-01-02%2010:41:46&itype=3&isfirst=3&referer=%2fregister2%3fv%3d10f454%26key%3d311bcdec754052e40fe025a54f488f9a%26rbref%3drbzc%26isshow%3d%26username%3d%26pname%3d%26plattype%3d0%26istatus%3d1%26buy_type%3d0%26channel_source%3d62&username=user
preg_match('/&referer=(.*?)&username=(.*)/', $url, $match); $result = $match[1];
示例代码:
$url = 'web.admin.com/admin/userManage/investuser?start=2018-01-02%2000:00:00&end=2018-01-02%2010:41:46&itype=3&isfirst=3&referer=URL_ENCODED_VALUE&username=USERNAME'; $match_result = ''; preg_match('/&referer=(.*?)&username=(.*)/', $url, $match); if (isset($match[1])) { $match_result = $match[1]; } // 输出截取的结果 echo $match_result;
以上就是如何使用正则表达式截取URL中&referer=和&username之间的部分?的详细内容,更多请关注其它相关文章!