2012-03-09 13 views
0

私は、このコードサンプル(他人によって書かれたもの)をウェブサイトを解析し、各タイプのファイル(ベータ版/開発版/リリース)の最新バージョンのURLを見つけて返します。クエリ文字列に基づいて値を返す方法は?

私はbukkit.php?version = betaのようなことをして、自動的にそのURLに行き、ダウンロードを開始したいと考えています。私はその性質の何かをどうやってやっていくのですか?

<?php 

require_once('simple_html_dom.php'); 

$html = file_get_html('http://dl.bukkit.org/downloads/craftbukkit/'); 

$dom = new DOMDocument; 
libxml_use_internal_errors(true); 
echo $dom->loadHTML($html) ? "success<br/>" : "failed<br/>"; 
libxml_clear_errors(); 
$dom->preserveWhiteSpace = true; 


foreach ($dom->getElementsByTagName('div') as $element){ 
    if($element->getAttribute('class') == "innerContent"){ 
     foreach ($element->getElementsByTagName('a') as $link) { 
      if($link->getAttribute('class') == "tooltipd") 
      { 
       echo $link->getAttribute('href')."<br/>"; 
      } 
     } 
    } 
} 

?> 

答えて

0

むしろURLに

$html = file_get_html('http://dl.bukkit.org/downloads/craftbukkit/'); 
preg_match("/bukkit\.php\?version=([beta|alpha|rc]+)/i", $html, $matches); 
header("Location: ". $match[1]); 
を見つけるために正規表現を使います
-1

このような何かは、あなたが探しているものかもしれません:

$version = $_GET['version']; 
if($version == 1) { 
    header("Location: http://www.domain.com/version1"); 
} else if($version == 2) { 
    header("Location: http://www.domain.com/version2"); 
} 
関連する問題