复制代码 代码如下:
reg = /<[img|href][^>]*src\s*=\s*('|")?([^'">]*)\1([^>])*>/ig
正则获取图片地址
一、问题:
采集的过程中遇到一个问题:从数据库里读出来的图片没有正常显示,分析后发现是数据库里的图片以网站根目录为相对路径方式存储,图片地址如:/uploads/allimg/090403/012F31N9-1.jpg,原来做的读取图片是以http://开关的URL绝对图片获取,所以采集中出现以根目录开始的图片地址采集失败。
二、解决方案:
分析HTML代码,显示图片定用<img>标签,写一个正则式获取<img>里的图片地址再加网站的网站转换为URL的绝对地址,接着的事情交给后面的代码(远程图片获取到本地)。
1) 完善解决方法,以“<img”开始写正规,但这个正式式比较难写要考虑“<img>”的属性、空格、多空格、单引号、双引号、不规范的属性引用(如单引号或双引号括起的属性值)等等。
2)应急解决方法,只要考虑“src=”属性开始的正则式,但这种方式存在不完善的地方,只要有“src=”出现在的都会被替换,出现“src="/UploadFiles/2021-04-02/的可能性有:javascript,文本里出现的">
三、实现代码:
考虑到第一种方法的难度暂时没有写,这里第二种应急解决方法实现(实现涉及的正则式内容这里不做讲解和分析,正则式的知识内容请google或baidu ^v^):
复制代码 代码如下:
<?php
//测试样式,考虑多种情况下的正则式。
$body = <<<HTML
<P align=center>1<img width="60" height="90px" src='http://www.chongwen.com/uploads/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='/uploads/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='/uploads/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>4<img width="60" height="90px" src="/UploadFiles/2021-04-02/012F35310-0.jpg"></P>
<P align=center>5<img src="/UploadFiles/2021-04-02/012F31N9-1.jpg "><P align=center>6<img src= " /uploads/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= /uploads/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
HTML;
//网站的地址
$str='src=/'http://www.chongwen.com/';
$body=preg_replace('/src/s*?=/s*?[/"|/']?/s*?//(.+?/.(?:jpg|gif|png|bmp))(/"|/'|/s)*?/s*?/is',"$str$1 '",$body);
echo $body;
?>
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]