Tabelle aus Quellcode auslesen

Lord-Roli

Mitglied
Hallo!
es geht um folgenden Quellcode den ich in einer Datei gespeichert habe:
HTML:
			<table class="tabtop250" cellpadding="4">
				<tr>
					<th class="tabueberschrift">Rang</th>
					<th class="tabueberschrift" nowrap="nowrap">Herrscher/in</th>
					<th class="tabueberschrift" nowrap="nowrap">Titel</th>
					<th class="tabueberschrift" nowrap="nowrap">Allianz</th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Punkte</a></th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&sortby=geb&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Gebäude</a></th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&sortby=ship&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Schiffe</a></th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&sortby=ress&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Rohstoffe</a></th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&sortby=for&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Forschung</a></th>
					<th class="tabueberschrift">
					<a href="http://gc.looki.de/bau/top10.php?top=1&sortby=extra&beruffilter=-kein%20Filter-&rassefilter=-kein%20Filter-">
					Extras</a></th>
				</tr>
				<tr>
					<td class="tabueberschrift">1.</td>
					<th class="tabstandard" nowrap="nowrap">
					<a href="http://gc.looki.de/bau/userinfo.php?iid=235">pRoStO</a></th>
					<td class="tabstandard" nowrap="nowrap">Citizen</td>
					<td class="tabueberschrift" align="center" nowrap="nowrap">-
					</td>
					<th class="tabzahl">573</th>
					<td class="tabzahl">200</td>
					<td class="tabzahl">0</td>
					<td class="tabzahl">230</td>
					<td class="tabzahl">143</td>
					<td class="tabzahl">0</td>
				</tr>
				<tr>
					<td class="tabueberschrift">2.</td>
					<th class="tabstandard" nowrap="nowrap">
					<a href="http://gc.looki.de/bau/userinfo.php?iid=333">Kauder</a></th>
					<td class="tabstandard" nowrap="nowrap">Citizen</td>
					<td class="tabueberschrift" align="center" nowrap="nowrap">
					<a href="http://gc.looki.de/bau/allianz/showclan.php?clan=53558290">
					STFU</a></td>
					<th class="tabzahl">563</th>
					<td class="tabzahl">200</td>
					<td class="tabzahl">0</td>
					<td class="tabzahl">220</td>
					<td class="tabzahl">143</td>
					<td class="tabzahl">0</td>
				</tr>
</table>

ich möchte gern die Werte in Variablen gespeichert haben, ich verzweifel in Moment sehr daran, sollte halt dann so aussehen:

bsp.: dieser Teil:

HTML:
				<tr>
					<td class="tabueberschrift">1.</td>
					<th class="tabstandard" nowrap="nowrap">
					<a href="http://gc.looki.de/bau/userinfo.php?iid=235">pRoStO</a></th>
					<td class="tabstandard" nowrap="nowrap">Citizen</td>
					<td class="tabueberschrift" align="center" nowrap="nowrap">
					<a href="http://gc.looki.de/bau/allianz/showclan.php?clan=53558290">
					STFU</a></td>
					<th class="tabzahl">573</th>
					<td class="tabzahl">200</td>
					<td class="tabzahl">0</td>
					<td class="tabzahl">230</td>
					<td class="tabzahl">143</td>
					<td class="tabzahl">50</td>
				</tr>

$Rang = "1.";
$id = "235";
$nickname = "pRoStO";
$allianz = "STFU";
$titel = "Citizen";
$punkte = "573";
$gebaude = "200";
$schiffe = "0";
$rohstoffe = "230";
$forschung = "143";
$extras = "50";

das sind halt dann ca. 250 Einträge die so verlaufen sollten.

Ich hab viel rumprobiert mit lines(), $HtmlFreeLines und und und
aber er gibt mir alles immer total durcheinander aus..

Hoff ihr könnt mir helfen, nen kleinen Plan zu machen wie ich da vorgehen kann.
Bedanke mich schon mal im vorraus!

Gruß
Roley
 
Moin Roley,

Ich hab viel rumprobiert mit lines(), $HtmlFreeLines
Was soll das sein? :eek:

Das Naheliegendste wäre da sicher per RegExp die Daten herauszufiltern.

Da diese Tabelle aber gültiges XML zu sein scheint, würde ich da eher versuchen, dort mittels DOMDocument-Methoden das Fragment zu Parsen, das dürfte weitaus fehlerunanfällig sein, als RegExp.

Falls dir statt Variablen auch ein XML-File mit den Daten genügt, könntest du das Fragment auch per XSLT transformieren.
 
ich meinte damit sowas:

PHP:
$Feld 		= array();
$suchWert 	= array("1.", "251."); // <- beliebig erweiterbar
$url		= array("http://xxx.com/top1-250.html",
					"http://xxx.com/top251-500.html"); // <- beliebig erweiterbar

for($page = 0; $page < count($url); $page++)
{
    $i = 0; // Zähler für die felder 1-10
    $z = 1; // Zähler für die Zeilen
    
    $startGefunden = 0; // Schalter für die Start Zeile
    $lines 		   = file ("$url[$page]");

	foreach ($lines as $HtmlFreeLines) 
    {
		$HtmlFreeLines = trim(str_replace('&nbsp;','', strip_tags($HtmlFreeLines)));
      
		if (strcmp($HtmlFreeLines, $suchWert[$page]) == 0) 
		{
			$startGefunden = 1;
		}

		if ($startGefunden == 1) 
		{
			$i=$i+1;

			$Feld[$z][$i] = $HtmlFreeLines;
    
			if ($i == 11) 
			{        
				if ($z <= 250) 
				{
					$rang 		= $Feld[$z][1];
					$nickname 	= $Feld[$z][2];
					$titel 		= $Feld[$z][3];
					$allytag 	= $Feld[$z][4];
					$punkte 	= $Feld[$z][5];
					$gebaeude 	= $Feld[$z][6];
					$schiffe 	= $Feld[$z][7];
					$rohstoffe 	= $Feld[$z][8];
					$forschung 	= $Feld[$z][9];
					$extras 	= $Feld[$z][10];
				} // Close: if ($i == 11)
				
    			$i=0; $z=$z+1; 
    		        }
		} // Close: if ($z <= 250)
	} // Close: if ($StartGefunden == 1)
} // Close: for($page = 0; $page < count($url); $page++)

nur hat sich da irgendwo ein fehler reingeschlichten, und funktioniert leider nicht^^

und eine html datei schaut so aus:
siehe hier im quelltext: http://ro-ga.com/tool/intern/admin/herrscherliste/top250-500.html
 
Zuletzt bearbeitet:
Zurück