in array suchen
RuD
- php
Hi,
mein Problem ist:
ich habe ne fremde HTML-Seite, die ich einlesen will, aber nur bestimmte Teile davon brauch. Die Teile sind mit Kommentaren markiert.
also
<....nicht von intresse....>
<!--anfang-->
INHALT
<!--ende-->
<...evtl.Zweischentext>
<!--anfang-->
INHALT
<!--ende-->
.
.
.
<....nicht von intresse....>
leider ist die Datei aber nicht so schoen zeilenweise geschrieben, sondern nach einander. means:
<....nicht von intresse....>
<!--anfang-->INHALT<!--ende--><...evtl.Zweischentext><!--anfang-->INHALT<!--ende-->
.
.
.
<....nicht von intresse....>
$datei=file($url); ... so weit so gut
Jetzt hab ich ein array mit den Zeilen der Seite.
Aber wie loese ich den INHALT zwischen den Kommentaren raus ??
Danke schonmal im Voraus
RuD
hallo,
und ferdsch.
die entsprechenden funktionen findest du im php-manual unter Stringfunktionen.
ich nochmal,
hab vergessen, dass du vorher ein implode() machen musst um den Array in einen string umzuwandeln!
NACHTRAG:
Sorry was ich vergessen habe: ich weis nicht, wie lang die Teile, die ich nicht brauche sind, weder am Anfang, dazwischen oder am Ende.
RuD
Hi :)
Ist der Inhalt den Du brauchst mit Anfang und Ende markiert? Also eindeutig?
Wenn ja dann kannst Du mit einem Schleifenkonstrukt das ganze abarbeiten.
Will heißen:
Solange bis Seitenende nicht erreicht ist {
if Anfang {
while Ende {
Text z.b Beispiel in ein Array kopieren
}
}
nächste Zeile
}
Gruß Time
Hello,
<....nicht von intresse....>
<!--anfang-->
INHALT
<!--ende--><...evtl.Zweischentext>
<!--anfang-->
INHALT
<!--ende-->
Gesamte Datei einlesen in eine Textvariable.
$_parts = explode('<!--ende-->',$datei);
$_elements = array();
foreach($_parts as $raw_element)
{
$_elements[] = explode('<!--anfang-->',$raw_element;
}
Dann sollten in $_elements[$x][1] eigentlich immer die gesuchten Elemente drinstehen, vorausgesetzt, das Dateiformat war sauber.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom