<div id="List">(.*?)</Div>

解决方案 »

  1.   

    $re = "/<div id=\"List\">(.*?)</Div>/"; preg_match_all( $re , $buffer, $out );
    print_r( $out);
    是这样用么?方法好像不对。
      

  2.   

    改用
    <div id="List">([.\n]*?)</Div>
    吧,上面那个没法匹配换行符print $out[1][0];
      

  3.   

    $buffer="<div id=\"List\">abcdfdd</Div>";
    $re = "<div id=\"List\">([.\n]*?)</Div>";
    preg_replace($re,$buffer,$out);
    echo $out[1][0];
    Warning: Unknown modifier '(' in D:\php\www\getpage.php on line 12
      

  4.   

    我给的第二个错了,sorry
    这是完整的代码,允许出现换行符
    <?
    preg_match_all("|<div id=\"List\">([\s\S]*?)(</Div>)|U", "<div id=\"List\">abcdfdd</Div>", $out, PREG_SET_ORDER);
    print $out[0][0];
    ?>
      

  5.   

    上面多余了一对括号
    "|<div id=\"List\">([\s\S]*?)</Div>|U"就行
      

  6.   

    <?php
    $str = '<div id="List">
    <a href=#>sadfasfasdf</a>    </Div>';preg_match_all("/<div[^>]*>\s*(.*)\s*<\/div>/iU", $str, $arr);echo "<pre>\n";
    print_r($arr);
    echo "</pre>";
    echo $arr[1][0];
    ?>
      

  7.   

    如欲去年<a ...></a>两端的空格:<?php
    $str = '<div id="List">
    <a href=#>sadfasfasdf</a>    </Div>';preg_match_all("/<div[^>]*>\s*([^\s].*)\s*<\/div>/iU", $str, $arr);echo "<pre>\n";
    print_r($arr);
    echo "</pre>";
    echo $arr[1][0];
    ?>
      

  8.   

    或者:
    <?php
    $str = '<div id="List">
    <a href=#>sadfasfasdf</a>    </Div>';preg_match_all("/<div[^>]*>\s*([\S].*)\s*<\/div>/iU", $str, $arr);echo "<pre>\n";
    print_r($arr);
    echo "</pre>";
    echo $arr[1][0];
    ?>
      

  9.   

    <?php
    $txt =<<< TEXT
    <div id="List">
    <a href=#>sadfasfasdf</a>    </Div>bn
    TEXT;
    preg_match_all("/<(div).+List.+?>(.+)<\/\\1>/is",$txt,$regs);
    print_r($regs[2]);
    ?> 
    out
    Array
    (
        [0] => 
    <a href=#>sadfasfasdf</a>    
    )