有下面的这样的一个字符串,是一个html文件的片段:"<P><IMG style="FLOAT: none; WIDTH: 414.75pt; HEIGHT: 321pt" src="clip_image001.jpg" xd:inline="/9j/4AAQSkZJRgABAQEAYABgAAD" /IMG></P><P><IMG style="FLOAT: none; WIDTH: 414.75pt; HEIGHT: 321pt" src="clip_image002.jpg" xd:inline="/9j/4AAQSkZJRgABAQEAYABgAAD" /IMG></P>...."如何取得里面每个<IMG>的src属性和xd:inline属性的值字符串,里面可能有多个<IMG>,因为不是XML格式的,所以只能用字符串操作来做了。

解决方案 »

  1.   

    用正则表达式
    <?php
    $html = '<P><IMG style="FLOAT: none; WIDTH: 414.75pt; HEIGHT: 321pt" src="clip_image001.jpg" xd:inline="/9j/4AAQSkZJRgABAQEAYABgAAD" /IMG></P><P><IMG style="FLOAT: none; WIDTH: 414.75pt; HEIGHT: 321pt" src="clip_image002.jpg" xd:inline="/9j/4AAQSkZJRgABAQEAYABgAAD" /IMG></P>';preg_match_all ("/(<IMG([^>]*)(src=\"([^\"]+)\") (xd:inline=\"([^\"]+)\") \/IMG>)/", $html, $matches);for ($i=0; $i< count($matches[0]); $i++) {
      echo "part 4: ".$matches[4][$i]."<br/>";
      echo "part 6: ".$matches[6][$i]."<br/><br/>";
    }
    ?>