ereg_replace("<!\-\-n\-\->.+<!\-\-n\-\->","OK",$string);

解决方案 »

  1.   

    <?php
    $string="start <!--n-->This is a test<!--n--> end";
    echo htmlspecialchars($string).'<br>';
    $str=ereg_replace("<!\-\-n\-\->.+<!\-\-n\-\->","<!--n-->OK<!--n-->",$string);
    echo htmlspecialchars($str);
    ?>
      

  2.   

    $string = "start <!--n-->This is a test<!--n--> end";
    $string = preg_replace("/(<!--n-->)(.*)(\\1)/", "<!--n-->ok<!--n-->", $string);
    echo $string;
      

  3.   

    phpteam兄,来得正好
    刚想问你,如果在匹配时要排除一部分,如何做?
    如:
    <?
    $string="start <!--n-->This is a test<!--n--> end <!--n--> other <!--n-->";
    ?>
    替换每两个(<!--n-->)之间的内容。
      

  4.   

    <?php
    $string = "start <!--n-->This is a test<!--n--> end <!--n--> other <!--n-->";
    $string = preg_replace("/(<!--n-->)(.*)(\\1)/U", "<!--n-->ok<!--n-->", $string);
    echo $string;
    ?>