2012-12-11 52 views
2

我需要從URL地址獲取Android包名稱。PHP preg_match,從Android中查找包名稱URL地址

這裏是我做了什麼。

$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」

然而,我的代碼是行不通的。

有什麼我想念的嗎?

回答

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

+1

它的工作原理做到這一點!謝謝 :) – Jake

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的組成部分。