正则表达式如何匹配两种情况

wulinag 2014-12-10 11:02:47
我的链接存在这二个情况

1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;

我自己写的正则,但匹配不到,求高手帮助写一下:

preg_match("/((.*?\.php)\?(.*))(?(&.*))/is",$str,$arr);


想要的结果:当链接后面存在 &m=xxx 时,把 这里的结果也分段出来,不存在就只配置前面的
...全文
479 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wulinag 2014-12-10
  • 打赏
  • 举报
回复
我以为正则的效率很高呢,所以…… 自学的小白还有很多路要走,谢谢你们的指点!
闪闪放光芒 2014-12-10
  • 打赏
  • 举报
回复
1,$str=xxx.php?a=aaa; 2,$str=xxx.php?a=aaa&m=bbb; 不要硬套正则有些时候正则未必方便 $val=end(explode('=',$str));
小在在 2014-12-10
  • 打赏
  • 举报
回复
为什么不用parse_url呢?结合explode分析你的query里面有多少个参数,效率比用正则要高的多
wulinag 2014-12-10
  • 打赏
  • 举报
回复
引用 1 楼 u010036886 的回复:
你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?
对,是的,
闪闪放光芒 2014-12-10
  • 打赏
  • 举报
回复
你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧