我只是想找到一个HTML部分。那里有两张表,他们都以一篇文字“Vertretungsplan”开头。因此,我的函数中有一部分可以找出HTML-String存在于哪个部分。但是这个功能不应该做什么。 前两个preg_match_all给出了错误的数字!但是strpos和strripos也不起作用。 这是代码:
<?php
function faellt($kursnr, $stunde) {
$zahl = 0;
if ($stunde == "2") {
$stunde = "3";
}
elseif ($stunde == "3") {
$stunde = "5";
}
elseif ($stunde == "4") {
$stunde = "7";
}
elseif ($stunde == "5") {
$stunde = "9";
}
$file = file_get_contents("vertretungsplan.html");
$quellcode = preg_replace("/.*<body[^>]*>|<\/body>.*/si", "", $file);
preg_match_all('%<tr><td class="KlasseNeu">Q1<br></td><td class="StundeNeu">'.$stunde.'<br></td><td class="FachNeu">'.$kursnr.'<br></td><td class="RaumNeu"><br></td><td class="AnmerkungNeu">fällt aus<br></td></tr>%s', $quellcode, $treffer);
preg_match_all('%<tr><td class="KlasseNeu">Q2<br></td><td class="StundeNeu">'.$stunde.'<br></td><td class="FachNeu">'.$kursnr.'<br></td><td class="RaumNeu"><br></td><td class="AnmerkungNeu">fällt aus<br></td></tr>%s', $quellcode, $treffer2);
$zahl = count($treffer) + count($treffer2);
//$zahl = $zahl - 2;
if ($zahl != 0) {
/*preg_match_all("/Vertretungsplan/",$quellcode,$ausgabe, PREG_OFFSET_CAPTURE);
$erster = $ausgabe[0];
$zweiter = $ausgabe[1];*/
$erster = strpos($quellcode, "/Vertretungsplan/");
$zweiter = strripos($quellcode, "/Vertretungsplan/");
if ($erster != $zweiter) {
$erst = strpos($quellcode, $kursnr);
if ($erst > $erster AND $erst < $zweiter) {
$faellt = "eins";
}
elseif (§erst > $zweiter) {
$faellt = "zwei";
}
}
elseif ($erster == $zweiter) {
$faellt = "eins".$quellcode;
}
}
else {
$faellt = "false";
}
return $faellt;
}
?>