php正则匹配图片路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则匹配图片路径相关的知识,希望对你有一定的参考价值。
<p>郛 地地地是否<img height="960" width="4398" alt="" src="/userfiles/image/花朵.jpg" />在地了了解到</p>
以上是从数据库里调出的一个字符串,我要用正则查找其中的图片地址与图片名,也就是要得到/userfiles/image/花朵.jpg
以便删除之
$rr = $row_Recordset1['tttt'];
preg_grep(' ',$rr);
不知上面引号正则写法应该怎么写?
我是用FCKeditor,把文本与图片地址存到一起了。而当要删除文本时,我要通正则得到文本中的图片地址,将图片删除
正则按说该不难写呀,preg_grep('/(\/userfiles\/[.+][\.]jpg)/', "$rr");这样也不行,新手,累死了
我的图片有的放在userfiles/image里,有的直接放在userfiles/里按说正则时只要能匹配/userfiles/ .jpg
或者/userfiles/ .gif或者/userfiles/ .png就能得到图片了
可是这个正则还真不会写。谁会呀?分不是问题,有多少给多少。
/<img.*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)/i
,我使用kindeditor保存文章,但是需要取出第N个图片的地址作为文章的标志图片,文章代码(内容的html)保存到数据库一个字段,然后图片地址保存到另外一个字段.我就是使用上面的正则解决的.
我说明下,上面的地址是直接获取img标签内src属性的值.在使用该正则的php页面访问该路径如果能找到图片的话,可以直接使用,如果不能,你可以使用preg_match_all将所有地址先保存到数组,然后处理路径,比如获取文件名称(不含路径部分),然后重新组成url,再删除图片.
我的例子:
preg_match_all("/<img.*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)/i",str_ireplace("\\","",$content),$arr);
呵呵 我的内容部分被php给加上\转义了,所以我需要先把\去除,str_ireplace("\\","",$content),然后将匹配的内容保存到$arr数组(二维的).
$arr[1]就是存储该路径的数组. 参考技术A preg_match_all("/<img.*?src\\s*=\\s*[\\"|\\'](.*?)[\\"|\\'].*?>/i", str_ireplace("\\\\","",$html), $matches);
以上是关于php正则匹配图片路径的主要内容,如果未能解决你的问题,请参考以下文章