php 解析下载图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 解析下载图像相关的知识,希望对你有一定的参考价值。

<?php
require_once "vendor/autoload.php";

use \Wa72\HtmlPrettymin\PrettyMin;
use \Wa72\HtmlPageDom\HtmlPage;

function download_image($file_name, $file_link_url)
{
    file_put_contents($file_name, fopen($file_link_url, 'r'));
}

//3.5. сохранить все картинки в download/images
$page->filter('img')->each(function ($e, $i) {
    if (($e->attr("srcset") != '')) {
        $srcset = $e->attr("srcset");
        $pattern = '/https[^;,]+[jpg-jpeg-png-gif-svg]/i';
        preg_match_all($pattern, $srcset, $matches, PREG_SET_ORDER, 0);
        foreach ($matches as $images_link) {
            download_image(__DIR__."/downloaded/images/".basename($images_link[0]), $images_link[0]);
            $new_image_link = str_replace(dirname($images_link[0]), "images", $images_link[0]);
            $srcset = str_replace($images_link[0], $new_image_link, $srcset);
        }
        $srcset = $e->setAttribute("srcset", $srcset);
        $src = $e->attr("src");
        $src = str_replace(dirname($src), "images", $src);
        $e->setAttribute("src", $src);
    } else {
        download_image(__DIR__."/downloaded/images/".basename($e->attr("src")), $e->attr("src"));
        $src = $e->attr("src");
        $src = str_replace(dirname($src), "images", $src);
        $e->setAttribute("src", $src);
    }
});

以上是关于php 解析下载图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 解析网页内的图像?

从解析下载图像

在 JSON 中解析 <img src> 标签 - iOS

Javascript/Jquery:下载多张图片并保存在本地

解析 ios 的图像分辨率

php图像显示无需在邮件中下载