hallo php-experten,
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 bisher:
//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);
?>
jemand ne idee?