Extraction of image attributes like ‘src’, ‘alt’, ‘height’, ‘width’ etc from a HTML page using PHP. This task can be done using the following steps.
- Loading HTML content in a variable(DOM variable).
- Selecting each image in that document.
- Selecting attribute and save it’s content to a variable.
- Output as HTML img object or as plain values as required.
Example 1: This example displays the image object as output.
<?php // error_reporting(0); function crawl_page( $url ) { $dom = new DOMDocument( '1.0' ); // Loading HTML content in $dom @ $dom ->loadHTMLFile( $url ); // Selecting all image i.e. img tag object $anchors = $dom -> getElementsByTagName( 'img' ); // Extracting attribute from each object foreach ( $anchors as $element ) { // Extracting value of src attribute of // the current image object $src = $element -> getAttribute( 'src' ); // Extracting value of alt attribute of // the current image object $alt = $element -> getAttribute( 'alt' ); // Extracting value of height attribute // of the current image object $height = $element -> getAttribute( 'height' ); // Extracting value of width attribute of // the current image object $width = $element -> getAttribute( 'width' ); // Given Output as image with extracted attribute, // you can print value of those attributes also echo '<img src="' . $src . '" alt="' . $alt . '" height="' . $height . '" width="' . $width . '"/>' ; } } ?> |
Output:
Example 2: This example displays the attribute of an image object.
<?php // error_reporting(0); function crawl_page( $url ) { $dom = new DOMDocument( '1.0' ); // Loading HTML content in $dom @ $dom ->loadHTMLFile( $url ); // Selecting all image i.e. img tag object $anchors = $dom -> getElementsByTagName( 'img' ); // Extracting attribute from each object foreach ( $anchors as $element ) { // Extracting value of src attribute of // the current image object $src = $element -> getAttribute( 'src' ); // Extracting value of alt attribute of // the current image object $alt = $element -> getAttribute( 'alt' ); // Extracting value of height attribute // of the current image object $height = $element -> getAttribute( 'height' ); // Extracting value of width attribute of // the current image object $width = $element -> getAttribute( 'width' ); // Display Output as value of those attributes echo 'src=' . $src . '<br> alt=' . $alt . '<br> height=' . $height . '<br> width=' . $width . '<hr>' ; } } ?> |
Output: