Showing posts with label dom parsing. Show all posts
Showing posts with label dom parsing. Show all posts

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