如何根据查询字符串返回值?

时间:2012-03-09 12:31:40

标签: php parsing query-string simple-html-dom url-parameters

我有这个代码示例(由其他人编写)解析网站,并找到每种类型文件(beta / developmental / release)的最新版本的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/>";
            }
        }
    }
}

?>

2 个答案:

答案 0 :(得分:0)

而是使用正则表达式来查找网址

$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 :(得分:-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"); 
}