如何从php获取url的一部分

时间:2016-05-20 02:23:51

标签: php

如何使用php从谷歌播放网址获取完全正确的ID。 例: Google Play网址:https://play.google.com/store/apps/details?id= com.zing.zalo & hl = zh

我想获得 com.zing.zalo 。谢谢!

3 个答案:

答案 0 :(得分:3)

简单方法

  

使用preg_match或使用$_GET['id']从网址获取ID,如果   你可以从url那里得到这个,就像其他答案一样。

$Url = "https://play.google.com/store/apps/details?id=com.zing.zalo&hl=en";
preg_match("/[^?]+(?:\?id=([^&]+).*)?/", "$Url", $matches);

echo $matches[1]; //com.zing.zalo

此处的工作示例Check online

最长的方式:

只需使用一些PHP函数即可获得它。让您拥有以下网址。

$Url = "https://play.google.com/store/apps/details?id=com.zing.zalo&hl=en";

所以你需要使用?来破解网址,这只是网址上的一个。

$arr = explode("?", $Url);

从该数组中,您只需要存储第二部分,因为您需要查询字符串。因此,只需$arr[1]。现在再次爆炸$arr[1],其中&符号除以网址的其余部分{我是$arr[1]

$arr2 = explode("&", $arr[1]);

现在你已经完成了设置,使用另一个explode函数从$arr2[0]获取 com.zing.zalo

$idval = explode("=", $arr2[0]);

结果,只需回显$idval数组的第二部分。

echo $idval[1]; //com.zing.zalo

答案 1 :(得分:2)

您可以使用正则表达式执行此操作:(?:\?id=)(.*)\b我确定这是一个更有效的正则表达式,但这可以实现您的需求

preg_match('/(?:\?id=)(.*)\b/', 'https://play.google.com/store/apps/details?id=com.zing.zalo&hl=en', $matches);

print_r($matches);

返回:

Array
(
    [0] => ?id=com.zing.zalo&
    [1] => com.zing.zalo
)

答案 2 :(得分:1)

使用id获取<?php echo $_GET['id']; ?>

的查询字符串值
else if 
  ((b * b - 4 * a * c) <0)
  Console.Writeline("no real solutions")