phpbar.de logo

Mailinglisten-Archive

[php] HTML parsen

[php] HTML parsen

Eddi eddi at to-grip.de
Don Jul 21 17:27:06 CEST 2005


Hallo,

rfi at gmx.de schrieb:
> Moin,
>
> ich stehe gerade auf dem Schlauch und bräuchte mal einen
> kleinen Denkanstoss.
>
> Folgendes Problem:
>
> Ich stehe vor der Aufgabe bestimmte Inhalte aus einer
> HTML-Seite zu filtern. Diese Inhalte oder Abschnitte sind
> wie folgt ausgebaut:

Unter der Maßgabe, daß Du HTML parsen willst, sollest Du auch HTML
verwenden. Das klingt schroff - ist es auch (ID values MUST uniquely
identify).

> <div id="listentry">
> <div id="firma">firma1</div>
> <div id="strasse">strasse1</div>
> </div>
> <div id="listentry">
> <div id="firma">firma>2</div>
> <div id="strasse">strasse2</div>
> </div>

Wenn die Möglichkeit besteht, wechsle auf ein eigens definiertes
XML-Format, erstelle Dir einen eifachen parser selbst, der nicht mehr
als mit strpos() und substr() oder explode, strpos() und substr() arbeitet.

Wenn die Möglichkeit nicht besteht, verfahre genauso!

Als ganz simples Beispiel, wie ich herangehen würde:

$text        =hole_text_aus_datei();
$return_array=explode('<div id="listentry">',$text);

unset($return_array[0]);

foreach($return_array as &$v){
   $a=explode('</div>',$v);
   for($i=0;$i<count($a)-1;$i++){
      $v[$id_value]=suche_value_und_ID-value($a,&$id_value);
   }
}



Gruß aus Berlin!
eddi

php::bar PHP Wiki   -   Listenarchive