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.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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.'"/>';
    }
   
   
?>

chevron_right


Output:



Example 2: This example displays the attribute of an image object.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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>';
    }
   
   
?>

chevron_right


Output:



My Personal Notes arrow_drop_up

I am unrecognized crazy being with random thoughts

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.