2013-12-23 121 views
1

唯一ID我有这个字符串:字符串函数从URL中提取

solutions.php?id=80d28c22-68d9-11e3-af95-742f689f29f1 

我怎样才能获取该ID的只是一部分,ID刚值时,

80d28c22-68d9-11e3-af95-742f689f29f1 

我尝试PHP的子字符串函数,问题是我仍然在弄清楚如何告诉它它一直到字符串的末尾。

这是我到目前为止有:

$_solutionID = substr($_currentURL, 17, ??); 

回答

2

试试这个:

$id = $_GET['id'];

这应该工作: )

+0

谢谢。很简单,从来没有想到这一点。 – codeninja

1

您可以使用$_GET variable你的目的:

echo $_GET['id']; 
# => 80d28c22-68d9-11e3-af95-742f689f29f1 

$_GET是一个超全局变量可用在PHP脚本中的任意位置,可以用来检查一个网址的查询参数的值,即它存储的关联数组当前页面URL的所有查询参数。

另外,仅供参考,如果您碰巧发出POST请求并希望查找发布到该URL的数据,则可以按与$_GET变量完全相同的方式使用$_POST变量。

-1

我建议你使用parse_url来提取查询(在'?'之后)和一个正则表达式来提取'id ='之后的id。

$parts = parse_url('solutions.php?id=80d28c22-68d9-11e3-af95-742f689f29f1'); 

$query = $parts['query']; 

$matches = array(); 
if (preg_match('/id=([-0-9a-z]+)/', $query, $matches) { 
    return $matches[1]; 
} 
+0

真的吗? 'parse_url'和'regex'为此目的? – Stoic

+0

问题是“如何提取一部分字符串”。 @Yisera没有提到它是当前页面的网址,他只是想获得一个GET参数...... – maphe