'; $list = array();//这里存放结果map $c1 = preg_match_all('/
/', $str, $m1);//先取出所有img标签文本 for($i=0; $i<$c1; $i++) {//对所有的img标签进行取属性 $c2 = preg_match_all('/(\w+)\s*=\s*(?:(?:(["\'])(.*?)(?=\2))|([^\/\s]*))/', $m1[0][$i], $m2);//匹配出所有的属性 for($j=0; $j<$c2; $j++) {//将匹配完的结果进行结构重组 $list[$i][$m2[1][$j]] = !empty($m2[4][$j]) ? $m2[4][$j] : $m2[3][$j]; } } print_r($list);//查看结果变量 ?>
输出结果如下:
---------- php ----------
Array
(
[0] => Array
(
[title] => 小桔灯分类信息网
[alt] => 小桔灯分类信息网
[onload] => ResizeImage(this,860)
[src] => http://www.xiaojudeng.com/uploadfile/2011/0910/20110910102454887.jpg
)
[1] => Array
(
[title] => 小桔灯分类信息网
[alt] => 小桔灯分类信息网
[onload] => ResizeImage(this,860)
[src] => http://www.xiaojudeng.com/uploadfile/2011/0910/20110910102455105.jpg
)
[2] => Array
(
[title] => 小桔灯分类信息网
[alt] => 小桔灯分类信息网
[onload] => ResizeImage(this,860)
[src] => http://www.xiaojudeng.com/uploadfile/2011/0910/20110910102459367.jpg
)
)
输出完毕 (耗时 0 秒) - 正常终止下面是另外一个写法的,充分证明此正则方法可以完美匹配img标签的各属性:
立即学习“PHP免费学习笔记(深入)”;
这里是小桔灯分类信息网 http://www.xiaojudeng.com 只取得img标签 EOT; $list = array();//这里存放结果map $c1 = preg_match_all('/
/', $str, $m1);//先取出所有img标签文本 for($i=0; $i<$c1; $i++) {//对所有的img标签进行取属性 $c2 = preg_match_all('/(\w+)\s*=\s*(?:(?:(["\'])(.*?)(?=\2))|([^\/\s]*))/', $m1[0][$i], $m2);//匹配出所有的属性 for($j=0; $j<$c2; $j++) {//将匹配完的结果进行结构重组 $list[$i][$m2[1][$j]] = !empty($m2[4][$j]) ? $m2[4][$j] : $m2[3][$j]; } } print_r($list);//查看结果变量 ?>
输出结果如下:
---------- php ----------
Array
(
[0] => Array
(
[src] => http://www.xiaojudeng.com/uploadfile/2011/0910/20110910100916470.jpg
[class] => image x1
[alt] => 小桔灯分类信息网
[shuxing] => shux
)
[1] => Array
(
[src] => http://www.xiaojudeng.com/uploadfile/2011/0910/20110910100916803.jpg
[class] => image x2
[alt] => 小桔灯分类信息网
[title] => abc
[shuxing] => shux
)
)
输出完毕 (耗时 0 秒) - 正常终止




这里是小桔灯分类信息网 http://www.xiaojudeng.com










