Heyho!
Mit kleinen Schritten komme ich ans Ziel :)
Mit den DOM-Funktionen von PHP komm ich schon mal an meine gewünschten Kontainer:
$needle = 'foobar';
$doc = new DOMDocument();
// $content ist die per CURL eingelesene HTML-Datei
$doc->loadHTML($content);
// alle divs finden - '*' für alle Elemente
$datas = $dom_ele->getElementsByTagName('div');
// divs verarbeiten
foreach($datas as $data){
if($data->getAttribute('class') == $needle){
// wie weiter??
}
}
Wie aber komme ich an die Kinder und deren Inhalt?
Ich würde gern bestimmte Attribute und Inhalte der Elemente auslesen und die Werte in ein Array speichern.
Z.B.:
<div class="foobar">
<h3>1. Überschrift</h3>
<dl>
<dt class="temp-23"></dt>
<dd class="temp">Temperatur</dt>
</dl>
</div>
<div class="foobar">
<h3>2. Überschrift</h3>
<dl>
<dt class="temp-10"></dt>
<dd class="temp">Temperatur</dt>
</dl>
</div>
soll zu einem Array werden:
array(
[0]->
header->1. Überschrift
temp->23
[1]->
header->2. Überschrift
temp->10
)
Ich werde also mein foreach()
-Konstrukt erweitern müssen und dann mein Array mit den Daten befüllen. Nur habe ich absolut keine Ahnung, wie ich die Kindelemente durchlaufe.
Könnte mir da vielleicht noch einmal jemand helfen?
LG