这是我到目前为止的代码, 这就是它打印的内容
http://schulnetz.nibis.de/
http://schulnetz.nibis.de/admin/eingeben.phtml?schulnr=35877&aendern=4
http://schulnetz.nibis.de/admin1/schule_edit.php?schulnr=35877
http://schulnetz.nibis.de/daten_mail.php?x=1&Schul_Nr=35877
http://www.grundschule-bierden.de/
我唯一感兴趣的是
http://schulnetz.nibis.de/
http://schulnetz.nibis.de/admin/eingeben.phtml?schulnr=35877&aendern=4
http://schulnetz.nibis.de/admin1/schule_edit.php?schulnr=35877
http://schulnetz.nibis.de/daten_mail.php?x=1&Schul_Nr=35877
所以我需要一个只寻找这些href http://schulnetz.nibis.de/
的循环,但我似乎无法找到如何做到这一点。例如,如果href是http://schulnetz.nibis.de/one
http://schulnetz.nibis.de/two
http://schulnetz.nibis.de/tree
http://schulnetz.nibis.de/four
http://another.wildow/
我应该能够存储一个四而不是另一个存储。
include('simple_html_dom.php');
function getHost($url) {
$parseUrl = parse_url(trim($url));
return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2)));
}
$url = "http://schulnetz.nibis.de/db/schulen/schule.php?schulnr=35877&lschb=";
//simple way to add the http:// that dom requires, using curl is a better option
if (substr($url, 0, 4) != "http") {
$url = "http://$url";
}
$parsed_url = getHost($url);
$http_parsed_host = "http://$parsed_url/";
$html = file_get_html($url);
foreach($html->find('a') as $element)
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$href_link = $href->getAttribute('href');
if (substr($href_link, 0, 1) == "/") {
$href_link = trim($href_link,"/");
}
if (substr($href_link, 0, 2) == "//") {
$href_link = trim($href_link,"//");
}
if (substr($href_link, 0, 3) == "///") {
$href_link = trim($href_link,"///");
}
if ((substr($href_link, 0, 8) == "https://")) {
$final_href_link[] = $href_link;
} else {
if (substr($href_link, 0, 1) != "/") {
$final_href_link[] = "$http_parsed_host$href_link";
}
}
}
$links_array = array_unique($final_href_link);
sort($links_array);
foreach ($links_array as $links) {
//echo "$links<br />";
echo "<a href='$links'>$links</a><br />";
}
答案 0 :(得分:0)
也许我在这里误解了这个问题,但你不能只用strstr()查看$ url是否包含“schulnetz.nibis.de”
if(strstr($url,'schulnetz.nibis.de')){...}