Saturday, December 3, 2016

Update image soruce with new source using XML DOM parsing

//Update image src with new src
function upd_img_src_in_html($html_src='', $new_src='')
{
    if($html_src == '' || $new_src == ''):
        return '';
    endif;
    
    $xml = new DOMDocument();
    $xml->loadHTML($html_src, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

    $imgNodes = $xml->getElementsByTagName('img');
    for ($i = $imgNodes->length - 1; $i >= 0; $i--) {
        $imgNode = $imgNodes->item($i);
        $image_file_names = pathinfo($imgNode->getAttribute('src'), PATHINFO_BASENAME);

        if(!empty($image_file_names)):
            $imgNode->setAttribute('src', $new_src.$image_file_names);
            // $imgNode->setAttribute('style', 'max-width:90%; margin-left:auto; margin-right:auto;');
        endif;
    }

    return html_entity_decode($xml->saveHTML());
}

Also: http://php.net/manual/en/domelement.setattribute.php

No comments:

Post a Comment