那一层的div?<?php
$str = <<<EOT
<div id="I1_P1" style="">
     <div>a</div><div>a1</div><div>a2</div>
</div>
<div id="I2_P2" style="">
    <div>b</div><div>b1</div><div>b2</div>
</div>
<div id="I3_P3" style="">
    <div>c</div><div>c1</div><div>c2</div>
</div>
EOT;
preg_match_all('|<div>(.*?)</div>|i', $str, $arr);
print_r($arr[1]);?>output:
Array
(
    [0] => a
    [1] => a1
    [2] => a2
    [3] => b
    [4] => b1
    [5] => b2
    [6] => c
    [7] => c1
    [8] => c2
)

解决方案 »

  1.   

    我想要的结构是Array ( a ,Array (a1,a2) ) ,就是我想知道<div id="I1_P1" style="">包含了什么内容<div id="I2_P2" style="">又包含了什么内容
      

  2.   

    给出的例子运行可以找出div的内容,但是如果该是在复杂的页面的话就查找不出来,不知道是否是页面包含特殊字符另preg_match_all找不出来啊?
      

  3.   

    网页内容是别人的吧,这种问题我还是觉得用DOM XML和XPath比较方便
    DOMDocument::LoadHTMLFile(),换个思维楼主,:)
      

  4.   

    想知道怎么截取网页内容中某两个字符中的内容,不一定是<aa></aa>结构的。