array_diff($arr1,$arr2)
php数组函数之一,用来计算数组的差集.
正则匹配html图片标签
用sinaeditor添加的图片删除操做
用法之一,今天晚上在用新浪编辑器发表文章的过程当中.
使用到了此函数php
问题描述:html
文章中有图片若干.在增长文章的过程当中自动上传到网站的图片目录中
在修改文章的过程当中若是对图片进行相关的删除操做.那么虽然在代码中(已经存入数据库);
已经删除了数据的标签.相似于<img src=http://......>这样的标签.可是图片的文件依旧存在于
网站上.这时候须要必定的处理正则表达式
处理办法:数据库
首先:从数据库中获得原始的文章内容
从里面获得图片的文件名
用到了正则数组
方法以下
编辑器
对正则进行下解释,先匹配http四个字母而后匹配非数字的字符若干个.匹配数字字符至
少一个,匹配点(.)一个,匹配以jpg或gif或png结尾从$congtent中查找.结果存入$temp中.
将数据库中的原始数据中的图片保存在数组中.命名为$oldimgs
这个地方我以为应该改进下,存入后打印出来是二维数组.用起来有点费事
注:个人图片名称是相似于这个样子命名的:"201111291322589013.jpg"函数
第二步:
从用户提交过来的内容中找到全部的图片方法如上.获得数组二命名为$newimgs
对arr1和arr2求差集方法以下
--也就是说若是原始数据中的图片不存在于用户新提交的内容中.那么将删除这个图片.网站
删除图片的方法以下 很简单.
this
这样个人目的就达到了.当用户编辑了带有图片的文章.若是删除了图片.那么相应的图片也会从网站上删除
获得文章中的图片名称的方法还能够应用到删除文章的过程当中.
在删除图片的方法中的$dir能够用realpath(__FILE__)加上各类"./""../"去给出图片目录相对于网站的目录
对于获得html中的路径这里的正则写的不是很好.有待研究.最近发现一本正则的书.很不错
精通正则表达式第三版 Jeffrey E.F. Friedl著 ,余晟(cheng)译spa