登录
首页 >  文章 >  前端

如何使用正则表达式截取URL中&referer=和&username之间的部分?

时间:2024-11-16 17:09:44 233浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何使用正则表达式截取URL中&referer=和&username之间的部分?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

如何使用正则表达式截取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之间的部分?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>