删除编辑器内容中上传的图片

单独的图片数据删除清理很方便,使用unlink()函数就可以了。但如果想要删除清理编辑器中图文混合中的图片,要怎么办呢?这时候可以使用正则匹配提取出是本站的图片数据进行删除,不多说,直接上代码,可根据项目情况自己更改调整。

/**
 * 删除编辑器内容中上传的图片数据
 *
 * @param string $content 编辑器图文内容
 *
 * @author qinglin
 */
function remove_content_img($content)
{
    //匹配并删除图片
    $imgreg = "/<img.*src=\"([^\"]+)\"/U";

    $matches = [];
    preg_match_all($imgreg, $content, $matches);

    foreach ($matches[1] as $img_url) {
        $web_root = 'http://' . $_SERVER['HTTP_HOST'] . '/';
        $filepath = str_replace($web_root, '', $img_url);
        if ($filepath == $img_url) $filepath = substr($img_url, 1);
        @unlink($filepath);
        $filedir = dirname($filepath);
        $files   = scandir($filedir);
        if (count($files) <= 2) @rmdir($filedir);//如果只剩下./和../,就删除文件夹
    }
    unset($matches);
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都进步一点点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值