php实现修改新闻时删除图片的方法
本文旨在介绍如何使用PHP实现修改新闻时删除图片的功能,涉及PHP正则表达式的相关技巧。对于需要实现此功能的朋友们,这是一个值得参考的指南。
我们需要获取旧新闻内容中的图片信息和新新闻内容中的图片信息。我们可以使用PHP的preg_match_all函数配合正则表达式来提取标签中的src属性,从而获取图片的路径。
在获取了旧新闻和新新闻的图片信息后,我们可以通过PHP的array_intersect函数来找出两者共有的图片,即需要保留的图片。
接下来,我们需要遍历旧新闻中的所有图片,检查每张图片是否存在于保留的图片列表中。如果不在列表中,说明这张图片是新新闻中不需要的,我们可以使用PHP的unlink函数来删除这张图片。
以下是具体的代码实现:
首先获取旧新闻内容和新新闻内容中的图片信息:
```php
// 旧新闻内容中的图片信息
preg_match_all("/\/", $old_contents, $oldPicMatch);
$oldPic = array_map('basename', $oldPicMatch[2]); // 获取图片路径
// 新新闻内容中的图片信息
preg_match_all("/\/", $content, $newPicMatch);
$nowPic = array_map('basename', $newPicMatch[2]); // 获取图片路径
```
接着找出需要保留的图片:
```php
$intersectPic = array_intersect($nowPic, $oldPic); // 计算交集,找出需要保留的图片
```
最后遍历旧新闻中的所有图片并删除不需要的图片:
```php
foreach ($oldPic as $value) {
if (!in_array($value, $intersectPic)) { // 如果图片不在保留列表中,则删除该图片
$delPic = "图片路径".$value; // 这里需要根据实际情况替换为正确的图片路径获取方式
unlink($delPic);
}
}
```
编程语言
- php实现修改新闻时删除图片的方法
- jquery分析文本里url或邮件地址为真实链接的方法
- 取得表单提交的所有数据
- PHP批量查询WordPress留言者E-mail地址实现方法
- 关于target目录在idea没显示的问题
- mysql5.7.18安装时mysql服务启动失败的解决方法
- 原生nodejs使用websocket代码分享
- ThinkPHP5框架缓存查询操作分析
- BootStrap的alert提示框的关闭后再显示怎么解决
- PHP设计模式之结构模式的深入解析
- js实现字符串转日期格式的方法
- php获取参数的几种方法总结
- MSSQL 计算两个日期相差的工作天数的语句
- 在JSP中使用formatNumber控制要显示的小数位数方法
- phpStudy访问速度慢和启动失败的解决办法
- jsp中文显示问号问题解决方法