|
|
发表于 2011-10-6 23:11:46
|
显示全部楼层
可以试试这个正则:- <div id="productMainImage" class="centeredContent back">[\s\S]*?<img src="(?<content>[\s\S]*?)"
复制代码 由于你没有提供网站地址,所以不能用火车头测试,不清楚能否匹配,不过我在php里测试是可以获得匹配的
一直不会用火车头里的正则,看了些资料,也大概知道了火车头正则的设置,(?<content>[\s\S]*?)是捕获,只有一个捕获,并且命名了捕获的键名content,用来识别,其他的和正则一样
php的正则匹配代码
- <?php
- $str='<div id="productMainImage" class="centeredContent back"><script language="javascript" type="text/javascript">
- <!--
- document.write(\'<a href="javascript:popupWindow(\'http://www.chanelkings.com/index.php?main_page=popup_image&pID=75\')">
- <img src="images/Chanel Handbags Newest/36076-aqua-blue-gold-1.JPG" alt="Chanel Bags Newest Aqua Blue Gold 36070" title=" Chanel Bags Newest Aqua Blue Gold 36070 " width="250" height="167" />
- </a>';//目标字符串
- $exp='/<div id="productMainImage" class="centeredContent back">[\s\S]*?<img src="(?<content>[\s\S]*?)"/i';//正则表达式
- preg_match_all($exp,$str,$arr);//匹配全部满住条件的
- //print_r($arr);
- if(!empty($arr['content'])){//存在匹配
- echo '匹配存在:<br>';
- print_r($arr['content']);
- }
- else echo '没有匹配,检查正则<br>';//不存在匹配
- ?>
复制代码 |
|