//$str="aa <img src='111.jpg'><img src='22.jpg'>" ......
如果我想得到
//array(0=>'aa',1=>"<img src='111.jpg'>",2=>"<img src='22.jpg'>",....)
这样的效果 这么写了!!!//$list=preg_split("/<img.*?>/",$str,-1,PREG_SPLIT_OFFSET_CAPTURE)
//print_r($list);
得到的是:Array ( [0] => Array ( [0] => aa [1] => 0 ) [1] => Array ( [0] => [1] => 22 ) [2] => Array ( [0] => [1] => 40 ) ) 
IMG 字段的东西获取不到。

解决方案 »

  1.   

    <?
    $str = "aa   <img   src= '111.jpg '> <img   src= '22.jpg '> ";
    preg_match_all("/(.*?)(<img\s+[^>].*?>)/", $str, $match);
    var_dump($match);
    ?>
      

  2.   

    又完善了下 去除了空格
    <?
    $str = "aa   <img   src= '111.jpg '> <img   src= '22.jpg '> ";
    preg_match_all("/([^\s].*?)(<img\s+[^>].*?>)/", $str, $match);
    var_dump($match);
    ?>
      

  3.   

    $str= <<<EOD
    aa   <img   src= '111.jpg '> <img   src= '22.jpg '>
    EOD;preg_match_all('/(<img[^>]*\/?>)/i',$str,$match);
    var_dump($match[0]);