Auslesen aus HTML-Datei

Liamderprogger

Erfahrenes Mitglied
Hi!

Ich habe mich jetzt schon einiger maßen in die Funktion preg_match eingelesen, aber schaffe es trotz dem nicht mein Problem zu lösen.

Ich möchte aus einer externen HTML-Datei, die ich nicht verändern kann einen kleinen Teil auslesen.

Die Datei sieht so aus:
Code:
 [...]</td><td>
<a href=http://8.de target="blank"><font color='##901900'>TT <b>8</b>: 0.338 </font></a><br></td></tr><tr><td>
<a href="http://9.de" target="blank"><font color='#00CD00'>TT <b>9</b>: 0.335 </font></a><br></td><td>
<a href="http://10.de" target="blank"><font color='#00CD00'>T <b>10</b>: 0.337 </font></a><br></td></tr><tr><td>
<a href="http:[...]
Das ist alles eine Zeile, ich habe es nur zum besseren einsehen eingerückt!

Nun möchte ich folgendes Stück auslesen:

<a href="http://9.de" target="blank"><font color='#00CD00'>TT <b>9</b>: 0.335 </font></a>

Also muss man php sagen, dass es bei <a href="http://9 anfanken und beim ersten darauffolgenden </a> aufhören soll.

Bitte schreibt mir wie ich das mache.
Ich wollte diese Textzeile ein Mal ausgeben.
 
naja, da gibts mehrere möglichkeiten
eine wäre auch, alle <td>, </td>, <br> etc. mit "" zu ersetzten (mit leer), kommt halt drauf an, wie dein code aussieht...

was ich an deiner stelle machen würde:
also du ersetzt erstmal alle </a> und <a href=" mit zB "**&%$§**" ersetzten.
nun kannst du alle Links in folgender form dastehen:
**&%$§**meinlink.htm" target="etc..">der link**&%$§**<br><br>etc.etc.

ok, also wenn du das jeweils in nem array-key hast, kannst du einfach
eine schleife machen, in welcher jeder 2te array-key auf " gesplittet wird.
und dann hast du schon mal über den jeweiligen [0] key Den Link :-) :-)

hmm, und das selbe so ähnlich müsste man auch für das zwischenzeugs machen, infsofern du das auch benötigst...

//PS:
in deinem o.g. beispiel würd ich das aber gaaanz anders machen:
ich würd einfach nur diese komischen kommazahlen raussplitten.
und den rest des codes kannst du ja einfach generieren
und das einafch per while schleife:

PHP:
while($i < count($splitter)){
echo "<table zeugs und <link zeugs".$hierDieKommazahl[$i]."<restliches zeugs";
$i++; //bzw. $i+=2;
}
 
Zuletzt bearbeitet:
Hi,

ich wollte ja diesen und nur diesen Teil auslesen:
<a href="http://9.de" target="blank"><font color='#00CD00'>TT <b>9</b>: 0.335 </font></a>

<a href="http://9.de" target="blank"><font color='%%'>TT <b>9</b>: %% </font></a>

%% gibt an, was ich auslesen muss, weil es sich in der HTML-Datei ändert, den Rest könnte ich hin schreiben, bei mir in der PHP.

Also interessant ist nur die font color und die Zahl hinter dem Doppelpunkt(die Ping)

//EDIT: Kannst Du mir mal den Code mit dem preg_match schreiben, oder redest Du jetzt garnicht davon?
 
Zuletzt bearbeitet:
Hab dir mal was zusammengeschnippselt, ist zwar nicht der feinste Code, aber für diesen Zweck wohl anwendbar (bei mir es):

PHP:
<?
$txtStart = "
<a href=http://8.de target=blank><font color='##901900'>TT <b>8</b>: 0.338 </font></a><br></td></tr><tr><td>
<a href=http://9.de target=blank><font color='#00CD00'>TT <b>9</b>: 0.335 </font></a><br></td><td>
<a href=http://10.de target=blank><font color='#00CD00'>T <b>10</b>: 0.337 </font></a><br></td></tr><tr><td>
<a href=http://9.de target=blank><font color='#00CD00'>TT <b>9</b>: 0.335 </font></a>
<a href=http://9.de target=blank><font color='%%'>TT <b>9</b>: %% </font></a>
<a href=http://9.de target=blank><font color='%%'>TT <b>9</b>: %% </font></a>
"; 


$key = "..-key-..";

//1. Die Font Colors:
$arrColors = explode("<font color=", $txtStart);

$i = 1; $strColors = array();
while ($i < count($arrColors)){
$tempColor = explode(">", $arrColors[$i]);
$strColor[] = $tempColor[0];
$i ++;
}

//2. Die Kommazahlen:
$arrKomma = explode("</b>:", $txtStart);

$v = 1; $strKomma = array();
while($v < count($arrKomma)){
$tempKomma = explode("</font></a>", $arrKomma[$v]);
$strKomma[] = $tempKomma[0];
$v ++;
}

//Ausgabe:

//(ich geh einfach mal davon aus, dass count($arrColors) == count ($arrKomma)...)

$r = 1; $z = 0;
while($r < count($arrKomma)){
$tempAusgabe = "<a href='http://".$r.".de traget='blank'><font color=".$strColor[$z].">TT <b>".$r."</b>:".$strKomma[$z]."</font></a><br>\n"; //Musst du halt gucken..
echo "$tempAusgabe";

$r++; $z++;}
?>

mfg,
pflaume
 
Zurück