2

我需要从 URL 地址获取 Android 包名称。

这是我所做的。

$url = 'https://play.google.com/store/apps/details?id=com.gamevil.projectn.global&feature=featured-apps#?t=W251bGwsMSwyLDIwMywiY29tLmdhbWV2aWwucHJvamVjdG4uZ2xvYmFsIl0.';
        preg_match("~id=(\d+)~", $url, $matches);
        $package_name = $matches[1];

        echo $package_name;

包名应为“com.gamevil.projectn.global”

但是,我的代码不起作用。

有什么我想念的吗?

4

2 回答 2

3

你可以通过parse_url功能做到这一点

<?php
$url = 'https://play.google.com/store/apps/details?id=com.gamevil.projectn.global&feature=featured-apps#?t=W251bGwsMSwyLDIwMywiY29tLmdhbWV2aWwucHJvamVjdG4uZ2xvYmFsIl0.';
$arr =parse_url($url);
$new = explode("&",$arr['query']);
$new1 = explode("=",$new[0]);
echo($new1[1] );

输出

com.gamevil.projectn.global

jsFiddle

于 2012-12-11T07:35:17.817 回答
2

也许这可以帮助你:

$url = 'https://play.google.com/store/apps/details?id=com.gamevil.projectn.global&feature=featured-apps#?t=W251bGwsMSwyLDIwMywiY29tLmdhbWV2aWwucHJvamVjdG4uZ2xvYmFsIl0.';
    preg_match("/id=(.*?)&/", $url, $matches);
    $package_name = $matches[1];

    echo $package_name;

preg_match不会找到 和 之间id=的所有内容&

但更好的解决方案是使用parse_url解析 url,该函数将返回 url 的组件。

于 2012-12-11T07:34:52.670 回答