1
hallo zusammen,
ich habe ein kleines problem, beim auslesen einer seite.
aufgrund eines zeichens mehr bekomme ich ein verfälschtes ergebnis. nur weiss ich nicht genau, wie ich es beheben kann.
ergebniss aktuell:
0 TTC Halloheim 0 0 0 0 0:0 0 0:0
0 >TV Bad Herrlichau II 0 0 0 0 0:0 0 0:0
wie man hier sehen kann ist ein > zuviel, weil in einem link eine zahl mehr ist wie bei TTC Halloheim
mit folgedem code bearbeite ich das ganze:
ich habe ein kleines problem, beim auslesen einer seite.
aufgrund eines zeichens mehr bekomme ich ein verfälschtes ergebnis. nur weiss ich nicht genau, wie ich es beheben kann.
ergebniss aktuell:
0 TTC Halloheim 0 0 0 0 0:0 0 0:0
0 >TV Bad Herrlichau II 0 0 0 0 0:0 0 0:0
wie man hier sehen kann ist ein > zuviel, weil in einem link eine zahl mehr ist wie bei TTC Halloheim
<table class="beginn" cellpadding="0" border="0" cellspacing="0">
<tr>
<th> </th>
<th class="111111">Platz</th>
<th>Team</th>
<th class="111111">Spiel</th>
<th class="111111">S</th>
<th class="111111">U</th>
<th class="111111">N</th>
<th class="111111">Spiele</th>
<th class="111111">+/-</th>
<th class="111111">Punkte</th>
</tr>
<tr>
<td> </td>
<td align="111111">0</td>
<td nowrap="nowrap">
<a alt="Portrait und Bilanzen" title="Portrait und Bilanzen" href="/cgi-bin/123Objects/5555566677.123/6/wa/teamPortrait?teamtable=993022&pageState=runde&championship=BBB+555.+06%2F07&wosid=AdkaGiXA5LW9aqxAKpODYw&group=111111">TTC Halloheim </a>
</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0:0</td>
<td align="111111">0</td>
<td align="111111">0:0</td>
</tr>
<tr>
<td> </td>
<td align="111111">0</td>
<td nowrap="nowrap">
<a alt="Portrait und Bilanzen" title="Portrait und Bilanzen" href="/cgi-bin/123Objects/5555566677.123/6/wa/teamPortrait?teamtable=1026313&pageState=runde&championship=BBB+555.+06%2F07&wosid=AdkaGiXA5LW9aqxAKpODYw&group=111111">TV Bad Herrlichau II </a>
</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0</td>
<td align="111111">0:0</td>
<td align="111111">0</td>
<td align="111111">0:0</td>
</tr>
</table>
mit folgedem code bearbeite ich das ganze:
//Tabelle leeren
mysql_query("TRUNCATE TABLE tabelle_herren1") or die(mysql_error());
// alles bis auf Tabelle entfernen
$x=substr($x,strpos($x,"<table class=\"beginn\""));
$x=substr($x,0,strpos($x,"</table>"));
// Kopfzeile der Tabelle entfernen
$x=substr($x,strpos($x,"</tr>")+5);
// Solange noch eine Plazierung gefunden wird => Schleife ausf?hren
while(strpos($x,"<tr") !== false) {
// Anfangsposition der Plazierung ermitteln
$startpos=strpos($x,"<tr");
// Endposition des Plazierung ermitteln
$endpos=strpos($x,"</tr>");
// Spielzeile in $spielstr speichern
$spielstr=substr($x,$startpos,$endpos-$startpos);
// Spalte verwerfen
$spielstr=substr($spielstr,strpos($spielstr,"<td>")+3);
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Platzierung bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$platz = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Verein bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+295);
$verein = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Spielbegegnungen bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$begegnungsanzahl = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Siege bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$sieg = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Unentschieden bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$unentschieden = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Niederlagen bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$niederlage = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der erspielten Punkte bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$spielpunkte = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Differenz der Spielpunkte bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$differenz = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
// Anzahl der Gesamtpunkte bestimmen
$spielstr=substr($spielstr,strpos($spielstr,">")+1);
$punkte = trim(substr($spielstr,0,strpos($spielstr,"<")));
$spielstr=substr($spielstr,strpos($spielstr,"</td>")+5);
echo $platz."\n";
echo $verein."\n";
echo $begegnungsanzahl."\n";
echo $sieg."\n";
echo $unentschieden."\n";
echo $niederlage."\n";
echo $spielpunkte."\n";
echo $differenz."\n";
echo $punkte."\n";
mysql_query("INSERT INTO tabelle_herren1
(platz, verein, begegnungsanzahl, sieg, unentschieden, niederlage, spielpunkte, differenz, punkte)
VALUES
('$platz', '$verein', '$begegnungsanzahl', '$sieg', '$unentschieden', '$niederlage', '$spielpunkte', '$differenz', '$punkte')")
or die(mysql_error());
// bearbeitete Plazierung aus Gesamtliste entfernen
$x=substr($x,strpos($x,"</tr>")+5);
}
//Datenbank schließen
mysql_close($link);
?>