<?php /* create by tuzwu@qq.com for http://www.xiaojudeng.com */ $ext = 'gif|jpg|jpeg|bmp|png';//罗列图片后缀从而实现多扩展名匹配 by http://www.k686.com 绿色软件 $str = '<p>@@##@@</p><p>@@##@@</p><p>@@##@@</p>'; $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免费学习笔记(深入)”;
<?php /* create by tuzwu@qq.com for http://www.xiaojudeng.com */ $str = <<<EOT @@##@@ @@##@@ 这里是小桔灯分类信息网 http://www.xiaojudeng.com <a href="http://www.xiaojudeng.com/" class="a" alt=abc shuxing="shux" />只取得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 秒) - 正常终止
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号