PHP 文章内容图片全部删除函数,content字段包含的图片全部删除函数。/**
* 删除文章内容的图片
*
* Auther www.youhutong.com
* @param content 内容
* @param includePath 图片链接包含的路径(要删除的)
*/
function delete_content_images($content, $includePath = []) {
if(empty($content)) return true;
#1、 定义两个数组(用来一会存内容中所有包含图片的链接数组和需要删除的图片数组)
$matches = $result = [];
#2、 先处理需要删除的图片(包含路径就是需要删除的)数组
$includePath = $includePath ? (array)$includePath : ['www.youhutong.com'];
#3、 正则匹配出内容中所含的所有图片连接,并存到数组$matches中去。
$reg = '/((http|https):\/\/)+(\w+\.)+(\w+)[\w\/\.\-]*(jpg|gif|png|jpeg|bmp)/';
preg_match_all($reg, $content, $matches);
#4、 1)遍历所有图片链接,然后再遍历我们自己定义要删除包含路径的数组
#4、 2)然后判断 --> 再处理图片完整路径 --> 得到可以删除的路径
foreach ($matches[0] as $image) {
foreach($includePath as $path){
# 判断链接包含要删除的路径没有,当然判断条件自己可以变通的
if(strpos($image, $path) !== false){
# 处理图片链接得到需要删除图片的数据,并存到$result中去
...
...
...
...
...
...
...
}
}
}
# 返回需要删除的图片数据
return $result;
}
preg_match_all() 函数
说明:
函数用于进行正则表达式全局匹配,成功返回整个模式匹配的次数(可能为零),如果出错返回 FALSE 。
语法:int preg_match_all( string pattern, string subject, array matches [, int flags ] )参数描述
pattern正则表达式
subject需要匹配检索的对象
matches存储匹配结果的数组
flags可选,指定匹配结果放入 matches 中的顺序,可供选择的标记有:PREG_PATTERN_ORDER:默认,对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推
PREG_SET_ORDER:对结果排序使 $matches[0] 为第一组匹配项的数组,$matches[1] 为第二组匹配项的数组,以此类推
PREG_OFFSET_CAPTURE:如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量
strpos() 函数
说明:函数对大小写敏感。
查找字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。
语法:strpos(string,find,start)参数描述
string必需。规定要搜索的字符串。
find必需。规定要查找的字符串。
start可选。规定在何处开始搜索。
浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!
郑重声明:
1、本站源码仅供个人学习研究和交流使用,请于下载后二十四小时内删除
2、本站大多资源来源于互联网、用户分享,仅供学习交流使用,本站不提供任何技术支持
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意