我有一个像下面这样的 html 结构,它是随机的 div 标签和 img 标签,这些也存储在数据库中。
现在我必须在下面的字符串中过滤 img src,以删除不在此结构中但存储在目录中的文件,
在前端使用 jquery 或服务器端使用 php 获取此结构中的 src 的最佳方法是什么。
任何建议如何做到这一点?非常感谢!!
在前端
<div class="h1">content<div>
<div class="h1" style="">content</div>
<div class="h1" style="">...</div>
<div class="h2">...</div>
<div class="h1" style="">content</div>
<img src="u_img/5/1.png" style="" class="">
<div class="link" style="">link: http://...</div>
<img src="u_img/5/14.jpeg" style="" class="">
<div class="h1" style=""..</div>
<img src="u_img/5/3.png" style="" class="">
在数据库中
<div class="h1">content<div><div class="h1" style="">content</div><div class="h1" style="">...</div><div class="h2">...</div><div class="h1" style="">content</div><img src="u_img/5/1.png" style="" class=""><div class="link" style="">link: http://...</div><img src="u_img/5/14.jpeg" style="" class=""><div class="h1" style=""..</div><img src="u_img/5/3.png" style="" class="">
更新
,如果我通过 jquery 将这些 img src 在数组中的前端存储中获取到 php 文件,如下所示,那么如何删除不在此数组中的那些文件
var srcArray=$('img').map(function(){
return $(this).attr('src');
});
var fd = new FormData(uf[0]);
fd.append('srcArray',srcArray);
$.ajax({
type: "POST", url: "img_clean.php",
data: fd,
processData: false, contentType: false,
})
php
$srcArray = $_POST['srcArray'];
//How to delete file not in the array?
foreach($srcArray as $row){
$dir = "u_img_p/".$id;
//unlink($dir.'/'.$row);
}
}