Ich möchte per PHP den DOM ändern. Und zwar wird nach allen Bildern gesucht und diese dann um ein entsprechendes HTML-Gerüst erweitert. Derzeit mache ich das so:
Ich denke aber, dass meine Art des Generierens wahrscheinlich nicht korrekt ist, oder?
Ich meine, man muss doch die Elemente sicher auch als Knoten erstellen können? Für mich liegt die Schwierigkeit vor allem darin, dass ich nur einen Teil (nämlich das gesuchte Element) ersetze, d.h. ich kann irgendwie nicht einfach appendChild verwenden oder so.
Vielleicht kann mir ja anhand des obigen Beispiels jemand zeigen, wie man ein HTML-Gerüst mit den entsprechenden Klassen und IDs korrekt erstellt.
PHP:
$dom = new DOMDocument();
$dom->loadHTML( $inhalt );
for ( $i = $dom->getElementsByTagName( 'img' )->length; $i > 0; --$i ) {
$image = $dom->getElementsByTagName( 'img' )->item( $i-1 );
$replacement = $dom->createDocumentFragment();
$container = '<div class="wrap"><figure id="eine_id>';
$container .= '<img src="bilder/'.$image_file.'.jpg" />';
$container .= '<figcaption class="klasse3">'.$bild_beschreibung.'</figcaption>';
$container .= '</figure>';
$container .= '</div>';
$replacement->appendXML( $container );
$image->parentNode->replaceChild( $replacement, $image );
}
$inhalt = $dom->saveHTML();
Ich denke aber, dass meine Art des Generierens wahrscheinlich nicht korrekt ist, oder?
Ich meine, man muss doch die Elemente sicher auch als Knoten erstellen können? Für mich liegt die Schwierigkeit vor allem darin, dass ich nur einen Teil (nämlich das gesuchte Element) ersetze, d.h. ich kann irgendwie nicht einfach appendChild verwenden oder so.
Vielleicht kann mir ja anhand des obigen Beispiels jemand zeigen, wie man ein HTML-Gerüst mit den entsprechenden Klassen und IDs korrekt erstellt.