Mit PHP Inhalt bestimmter CSS-Klassen in Array?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
auslese
beispiel
bestimmten klassen
code
dank
dom
einfacher ressourcen
element
ergebnis
fehlen
inhalt
jemand
schonender dom
speichern
string
text
url
versuchen
-
Hallo
wie kann ich aus einem HTML-String
die Inhalte von Elementen mit bestimmten Klassen auslesen und in Array speichern?
Beispiel: $htmlcode
<div id="inhalt"> <ul> <li> <h2 class="name">Titel 111</h2> <div class="a"> Text 1a AAAAAAA <a href="ziel1.php">Link 1</a> ... A1 </div> <div class="b"> Text 1b <u>BBBBBB</u> ... B1 </div> </li> <li> <h2 class="name">Titel 222</h2> <div class="a"> Text 2a aaaaaa <a href="ziel2.php">Link 2</a> ... A2 </div> <div class="b"> Text 2b <u>bbbbbb</u> ... B2 </div> </li> <li> <h2 class="name">Titel 333</h2> <div class="a"> Text 3a xxxxxx <a href="ziel3.php">Link 3</a> ... A3 </div> <div class="b"> Text 3b <u>yyyyyy</u> ... B3 </div> </li> </ul> </div>
gewünschtes Ergebnis: (Array je <li> Element)
array ( [0] => Array ( [name] => Titel 111 [a] => Text 1a AAAAAAA <a href="ziel1.php">Link 1</a> ... A1 [b] => Text 1b <u>BBBBBB</u> ... B1 ) [1] => Array ( [name] => Titel 222 [a] => Text 2a aaaaaa <a href="ziel2.php">Link 2</a> ... A2 [b] => Text 2b <u>bbbbbb</u> ... B2 ) [2] => Array ( [name] => Titel 333 [a] => Text 3a xxxxxx <a href="ziel3.php">Link 3</a> ... A3 [b] => Text 3b <u>yyyyyy</u> ... B3 ) )
... preg_match() mit entsprechendenn Pattern wäre wohl eine Möglichkeit
aber geht doch sicher auch einfacher ... ressourcen-schonender ... DOM ? ... aber wie ?!?
wenn ich
versuche,simplexml_load_string($htmlcode);
dann werden einige HTML-Elemente samt Inhalt einfach verschluckt ... kommen nicht an ?!
also hier ... die Tagss <a> und <u> fehlen komplett, bzw. werden zu Leerstring ?!
Hier das Ergebnis von simplexml_load_string()
SimpleXMLElement Object ( [@attributes] => Array ( [id] => inhalt ) [ul] => SimpleXMLElement Object ( [li] => Array ( [0] => SimpleXMLElement Object ( [h2] => Titel 111 [div] => Array ( [0] => Text 1a AAAAAAA ... A1 [1] => Text 1b ... B1 ) ) [1] => SimpleXMLElement Object ( [h2] => Titel 222 [div] => Array ( [0] => Text 2a aaaaaa ... A2 [1] => Text 2b ... B2 ) ) [2] => SimpleXMLElement Object ( [h2] => Titel 333 [div] => Array ( [0] => Text 3a xxxxxx ... A3 [1] => Text 3b ... B3 ) ) ) ) )
... also Elemente (hier <a> und <u>) werden einfach nicht erfasst, sind weg ?!
anstatt diesem:Text 2a aaaaaa <a href="ziel2.php">Link 2</a> ... A2
kommt aber an:Text 2a aaaaaa ... A2
??? also ist SimpleXML hier unbrauchbar ?!?
wie komme ich am besten auf das (oben gezeigte) gewünschte Ergebnis?
kann mir jemand bitte ein Beispiel mit DOM ausleen geben ?
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn du wirklich nur Elemente anhand von CSS-Selektoren auslesen möchtest, empfielt sich XPath.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage