php  正则表达式 怎么匹配</div>第一次出现的位置,如-------</div>*******</div>++++++++</div>,只需要匹配到-------</div>就可以了,请高人指点

解决方案 »

  1.   


    $str='-------</div>*******</div>++++++++</div>';
    preg_match('|^.*?</div>|i',$str, $match);
    //$match[0]就是你想要的结果
    var_dump($match[0]);
    已经测试过,可用。
      

  2.   

    可以尝试一下字符串匹配
    楼主的问题可以转化为提取的内容不包含</div>可以构造正则表达式 $pattern = ((?!</div>).)*        //匹配的内容不包含</div>,
                                                        //也即是出现第一个</div>的时候就断掉,
                                                        //用这种方法对匹配速率有帮助,避免贪婪的匹配
                                                        //耗费时间
      

  3.   

    你应该是想得到一个div的内容  就像js中innerHTML一样是不
    楼上的是能得到
      

  4.   

    $str='-------</div>*******</div>++++++++</div>';
    preg_match('|^.*?</div>|ims',$str, $match);
    //$match[0]就是你想要的结果
    var_dump($match[0]);
    这样的话就空格回车啥都没问题了:)
      

  5.   

    *******************************
     问题  to   碰到回车行就不行
    *******************************
    呵呵,给出的只算是其中的一种解决的方法吧,针对碰到回车行的问题可以加上修饰符s,如$pattern = '{((?!</div>).)*}s';精细的正则表达式还需要根据自己的需求构造.