比如内容是这样的
```
<div class="dddd"></div>
//其它内容
<div class="11">aaaaa</div>
//其它内容
<div class="11">bbbbb</div>
//其它内容
<div class="11">cccccc</div>
//其它内容
<div class="11">ddddd</div>
//其它内容
```
实际的内容会比这个复杂很多,
我希望可以匹配到的内容是最后的 `<div class="11">ddddd</div>`,
我的正则表达式`<div class="11">(.*)</div>`,匹配到的结果是```
<div class="11">aaaaa</div>
<div class="11">bbbbb</div>
<div class="11">cccccc</div>
<div class="11">ddddd</div>
```
我如何用正则直接匹配到最后一个结果?或者匹配到任意一个结果?

解决方案 »

  1.   

    $s =<<< TXT
    <div class="dddd"></div>
    //其它内容
    <div class="11">aaaaa</div>
    //其它内容
    <div class="11">bbbbb</div>
    //其它内容
    <div class="11">cccccc</div>
    //其它内容
    <div class="11">ddddd</div>
    //其它内容
    TXT;
    preg_match_all('@<div class="11">(.*)</div>@', $s, $m);
    print_r($m);
    Array
    (
        [0] => Array
            (
                [0] => <div class="11">aaaaa</div>
                [1] => <div class="11">bbbbb</div>
                [2] => <div class="11">cccccc</div>
                [3] => <div class="11">ddddd</div>
            )    [1] => Array
            (
                [0] => aaaaa
                [1] => bbbbb
                [2] => cccccc
                [3] => ddddd
            ))
    没什么问题,因为符合条件的很多
    取哪个由你定
      

  2.   

    PHP可以使用preg_match_all来匹配你正则中的所有符合条件的内容,完事之后,你可以通过数组操作来获取你想要的数据,获取数组最后一个元素可以使用end函数