我的办法有点笨:
先用fopen()之类的东东将一个页的源文件读到$xxx变量中,然后用
$width[] = explode("WIDTH",$xxx);
$height[] = explode("HEIGHT",$xxx);
将字串打散,然后取$width[]、$height[]中的奇数值,如$height[1,3,5]。这样每个变量的第一个字符都是‘=’(如果担心有空格,可以用trim()将其去掉)。然后用substr()之类的将’=’替换为’:’,然后再将替换后的$width[]、$height[](奇偶数的值都要)写到网页的文件中就可以了
先用fopen()之类的东东将一个页的源文件读到$xxx变量中,然后用
$width[] = explode("WIDTH",$xxx);
$height[] = explode("HEIGHT",$xxx);
将字串打散,然后取$width[]、$height[]中的奇数值,如$height[1,3,5]。这样每个变量的第一个字符都是‘=’(如果担心有空格,可以用trim()将其去掉)。然后用substr()之类的将’=’替换为’:’,然后再将替换后的$width[]、$height[](奇偶数的值都要)写到网页的文件中就可以了
$s = '
图片一
<IMG SRC="images/left_01.gif" WIDTH=16 HEIGHT=25 ALT="">
图片二
<IMG SRC="images/left_02.gif" HEIGHT=16 ALT="aaa" WIDTH=25>
<a href=..."">其他内容</a>
';
//提取img标签的属性串
preg_match_all("/<img (.*)>/iU",$s,$regs);
$img = $regs[1];
//定义结果数组
$renArray = array();
//从属性串数组中提取属性到结果数组
for($i=0;$i<count($img);$i++) {
preg_match_all("/\b(src|width|height|alt)=(.+) /iU",$img[$i]." ",$regs);
foreach($regs[1] as $key=>$value)
$ar[$value] = ereg_replace("[\"']","",$regs[2][$key]);
$renArray[] = $ar;
}
print_r($renArray);
?>
结果数组
Array
(
[0] => Array
(
[SRC] => images/left_01.gif
[WIDTH] => 16
[HEIGHT] => 25
[ALT] =>
) [1] => Array
(
[SRC] => images/left_02.gif
[WIDTH] => 25
[HEIGHT] => 16
[ALT] => aaa
))
preg_match_all("/\b(src|width|height|alt)=(.+) /iU",$img[$i]." ",$regs);
改为
preg_match_all("/(\b[a-z_]\w*)=(.+) /iU",$img[$i]." ",$regs);
通用性更强