沃梦达 / 编程问答 / php问题 / 正文

用于在PHP中从URL中提取查询字符串参数值的正则表达式

regular expression to extract a query string parameter value from a URL in PHP(用于在PHP中从URL中提取查询字符串参数值的正则表达式)

本文介绍了用于在PHP中从URL中提取查询字符串参数值的正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从URL中提取项ID;模式如下 &;R=10031004&;,我的意思是,我需要提取&;R=中的字符串和另一个中的

这就是我到目前为止的所有信息,但我不断收到错误。

preg_match('^[&R=]+ &$',
"http://www.lapdirecciondemario.com/items.php&R=10031004&", $matches);
$host = $matches[0];

echo $host;

推荐答案

$url = 'http://www.lapdirecciondemario.com/items.php&R=10031004&';
preg_match('/(&|?)R=([0-9]+)/i', $url, $matches);
echo $matches[2];
与其他答案相比,如果参数R前面是?而不是&,则也会匹配。如果您知道更多关于数字长度的信息,可以将[0-9]之后的+替换为{min,max}

此正则表达式应该非常健壮,并与以下所有内容匹配:

  • http://www.lapdirecciondemario.com/items.php&R=10031004
  • http://www.lapdirecciondemario.com/items.php?foo=bar&R=10031004
  • http://www.lapdirecciondemario.com/items.php?R=10031004
  • http://www.lapdirecciondemario.com/items.php?R=10031004&something=else
  • http://www.lapdirecciondemario.com/items.php&R=10031004#more-here

这篇关于用于在PHP中从URL中提取查询字符串参数值的正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:用于在PHP中从URL中提取查询字符串参数值的正则表达式

基础教程推荐