How to extract img src and alt from html using PHP?

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:



