<div id="main">
<!-- begin rs -->
<p>host:<!-- rs.host -->,user:<!-- rs.user --></p>
<!-- end rs -->
</div>
----------------------------------------------------------preg_match_all取<!-- begin rs --><!-- end rs -->中间<p></p>的这一整行

解决方案 »

  1.   


    /<!-- begin rs -->([\s\S]*?)<!-- end rs -->/
      

  2.   

    preg_match_all('/<\!-- begin rs -->([\w\W]+?)<\!-- end rs -->/', $t, $e);
      

  3.   


    $html='
    <div id="main">
    <!-- begin rs -->
    <p>host:<!-- rs.host -->,user:<!-- rs.user --></p>
    <!-- end rs -->
    </div>';
    preg_match_all('/(?<=<\!-- begin rs -->)(?:\s*).*(?:\s*)/',$html,$array);
    var_dump($array);/*
    array(1) {
      [0]=>
      array(1) {
        [0]=>
        string(54) "
    <p>host:<!-- rs.host -->,user:<!-- rs.user --></p>
    "
      }
    }
    */
      

  4.   

    [[email protected] php_project]$ php main.php 
    <p>host:<!-- rs.host -->,user:<!-- rs.user --></p>[[email protected] php_project]$ cat main.php 
    <?php
    $str = <<<EOF
    <div id="main">
    <!-- begin rs -->
    <p>host:<!-- rs.host -->,user:<!-- rs.user --></p>
    <!-- end rs -->
    </div>
    EOF;$n = preg_match('/<!-- begin rs -->(.*?)<!-- end rs -->/is', $str, $matches);
    if ($n) {
            echo trim($matches[1]);
    }
    ?>
      

  5.   

    /<!-- begin rs -->(.*)<!-- end rs -->/s我自己的答案,昨天已解决。