如何在PHP的HTML中找到这个URL?

I want to find a specific url in a html page and get it's part. the url is in this page :

http://site1.com/games/arcade/139173-angry-birds-friends-1-7-0.html`

and is like

http://download.site2.org/?server=2&apkid=com.rovio.angrybirdsfriends&ver=1.7.0

I want 3 parts of it:

  1. 2
  2. com.rovio.angrybirdsfriends
  3. 1.7.0

My code:

$html = file_get_contents("http://site1.com/games/name/139173-angry-birds-friends-1-7-0.html");
preg_match("/download(.*)/", $html, $results)
echo = $results[0];

Is this what you are looking for?

$url = 'http://download.site2.org/?server=2&apkid=com.rovio.angrybirdsfriends&ver=1.7.0';

$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);

echo $params['server'], PHP_EOL;
echo $params['apkid'], PHP_EOL;
echo $params['ver'], PHP_EOL;

Output:

2
com.rovio.angrybirdsfriends
1.7.0

Update

// Read HTML
$html = file_get_contents(
    'http://getandroidapp.org/games/arcade/'
    . '139173-angry-birds-friends-1-7-0.html'
);

// Turn HTML into a DOM document
$dom = new DOMDocument();
@$dom->loadHTML($html); // Mute warnings

// Find anchor ...
foreach ($dom->getElementsByTagName('a') as $link) {
    $href = $link->getAttribute('href');

    // ... having a query part that starts with 'server='
    if (preg_match('#\?server=#', $href)) {
        $url = $href;

        // Parse query string from href
        $query = parse_url($url, PHP_URL_QUERY);
        parse_str($query, $params);

        // Display values
        echo $params['server'], PHP_EOL;
        echo $params['apkid'], PHP_EOL;
        echo $params['ver'], PHP_EOL;

        // One is enough
        break;
    }
}

Output:

2
com.rovio.angrybirdsfriends
1.7.0

It is not totally fool-proof but maybe good enough in your case.