Open In App

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

Last Updated : 15 May, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads