PHP: Image-Tags aus HTML-Code extrahieren

Bei der Entwicklung eines WordPress-PlugIns zum Bild-Import von Pinterest-Walls brauchte ich eine Funktion, um aus HTML-Code die Image-Tags zu extrahieren. Dabei habe ich mich aber unnötig schwer getan – dennoch führen sehr viele Wege nach Rom.

Regulärer Ausdruck

$foo = '<img class="lots of different classes" title="sample image" src="https://mkleine.de/img/sample.jpg" alt="sample image" width="200" height="300" />';
$array = array();
preg_match( '/src="([^"]*)"/i', $foo, $array ) ;
print_r( $array[1] ) ;

PHP-Klasse DOMDocument

$doc = new DOMDocument();
$doc->loadHTML('<img class="lots of different classes" title="sample image" src="https://mkleine.de/img/sample.jpg" alt="sample image" width="200" height="300">');
$imageTags = $doc->getElementsByTagName('img');
$srcAttribute = $doc->getElementsByTagName('img')->item(0)->getAttribute('src');

Ich habe mich für den zweiten Weg entschieden – welcher Weg performanter ist kann ich an dieser Stelle nicht sagen – jedenfalls funktionieren beide Lösungen.

Referenzen:


Beitrag veröffentlicht

in

, , , ,

von

Schlagwörter: