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 中的顺序,可供选择的标记有:
|
strpos() 函数
说明:函数对大小写敏感。
查找字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。
语法:
strpos(string,find,start)
| 参数 | 描述 |
|---|---|
| string | 必需。规定要搜索的字符串。 |
| find | 必需。规定要查找的字符串。 |
start | 可选。规定在何处开始搜索。 |
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/175.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

