$str = "<IMG src=\"/eicms/wwwroot/resources/12/2006101207263154.jpg\" border=0><IMG src=\"/eicms/wwwroot/resources/1/20061012023459298.jpg\" border=0>";
$regExt = "/\ssrc=\"([^\"]*)\"/iUs";
preg_match_all($regExt, $str, $out, PREG_SET_ORDER);
print_r($out);测试通过
$regExt = "/\ssrc=\"([^\"]*)\"/iUs";
preg_match_all($regExt, $str, $out, PREG_SET_ORDER);
print_r($out);测试通过
这个是获取指定标签的指定属性的表达式其中
XXXXX就是指定的标签 如果有多个(?:XXXXX|XXXXX|XXXXX)
xxxxx就是指定的属性 如果有多个(?:xxxxx|xxxxx|xxxxx)
group("start") 是属性的前缀 (xxxxx=") 其中xxxxx是你的属性 后面可以忽略"="号前后的空格 并且能够区分包围属性值的 双引号 单引号 或 空
group("end") 是包围属性值的 双引号 单引号 或 空以上无法分析你的图片类型如果需要分辨图片类型 则在上面表达式后面加上下面的表达式
(?=(?:jpg|gif|jpeg|bmp|png))
(?<=<(?:img)[^>]*(?<start>(?:src)(?:\s*=\s*(?<end>["']?))))(?:[^\s"'>]*)\.(?:jpg|gif|jpeg|bmp|png)测试:
<IMG src= '/eicms/wwwroot/resources/12/2006101207263154.jpg' border=0><IMG src ="/eicms/wwwroot/resources/1/20061012023459298.jpg" border=0>match到2个分别是
/eicms/wwwroot/resources/12/2006101207263154.jpg
组"start" 为 (src= ')
组"end" 为 (')
/eicms/wwwroot/resources/1/20061012023459298.jpg
组"start" 为 (src =")
组"end" 为 (")如果你不需要里面的2个组 可以用这个表达式
(?<=<(?:img)[^>]*(?:(?:src)(?:\s*=\s*(?:["']?))))(?:[^\s"'>]*)\.(?:jpg|gif|jpeg|bmp|png)