php替换文件中img的所有src属性

前端之家收集整理的这篇文章主要介绍了php替换文件中img的所有src属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有这样的页面链接

import.html

的index.PHP

PHP
//get file content
$html = file_get_contents('import.html');

function replace_img_src($img_tag) {
    $doc = new DOMDocument();
    $doc->loadHTML($img_tag);
    $tags = $doc->getElementsByTagName('img');
    if (count($tags) > 0) {
        $tag = $tags->item(0);
        $old_src = $tag->getAttribute('src');
        $new_src_url = 'website.com/assets/'.$old_src;
        $tag->setAttribute('src',$new_src_url);
        return $doc->saveHTML($tag);
    }
    return false;
}

// usage
$new = replace_img_src($html);
print_r(htmlspecialchars($new));

目标:

我想在import.html文件中替换img元素的所有src属性,并返回带有新图像链接文件.我设法创建替换一个元素.

如何编辑它来遍历整个文件并替换所有属性并返回新的import.html和替换的src?

最佳答案
getElementsByTagName()方法将返回包含所有匹配元素的DOMNodeList对象.目前,您只需修改一个img标记.要替换所有img标记,只需使用foreach循环遍历它们:

function replace_img_src($img_tag) {
    $doc = new DOMDocument();
    $doc->loadHTML($img_tag);
    $tags = $doc->getElementsByTagName('img');
    foreach ($tags as $tag) {
        $old_src = $tag->getAttribute('src');
        $new_src_url = 'website.com/assets/'.$old_src;
        $tag->setAttribute('src',$new_src_url);
    }
    return $doc->saveHTML();
}
原文链接:https://www.f2er.com/html/426488.html

猜你在找的HTML相关文章