就是将我以上的代码从<form ****</form> 之间的字符包括form在内 ,全部匹配出来.

解决方案 »

  1.   

    <?php
    $str1="<form name=f1 action=\"spade?gimoo=wldi\">
    <tr valign=middle><table tt=\"&Auml;&atilde;&micro;&Auml;&Ocirc;&Uacute;&Auml;&Ccedil;&Agrave;&iuml;\">
    <td width=\"100%\" valign=\"top\" style=\"padding-left:8px;width:137px;\" nowrap>
    <a href=\"http://www.gimoo.net\"><img src=\"logo.gif\" border=\"0\" width=\"137\" height=\"46\"></a>
    </td>
    <td>&nbsp;&nbsp;&nbsp;</td>
    <td width=\"100%\" valign=\"top\">
    <div class=\"Tit\">
    <a href=\"%BB%FD%C4%BE\">&ETH;&Acirc;&Icirc;&Aring;</a>&nbsp;&nbsp;&nbsp;<a href=\"http://joke.gimoo.net/q?word=%BB%FD%C4%BE&fr=wwwt\">&ETH;&brvbar;&raquo;°</a>&nbsp;&nbsp;&nbsp;<!--bds<a href=\"$bdDSURL$\">&Icirc;&Ograve;&micro;&Auml;</a>&nbsp; -->
    </div>   
    <table cellspacing=\"0\" cellpadding=\"0\">
    <tr><td valign=\"top\" nowrap>   
    <input type=hidden name=ie value=\"gb2312\">
    <input name=wd size=\"35\" class=\"i\" value=\"&raquo;&yacute;&Auml;&frac34;\" maxlength=\"100\">
    <input type=hidden name=ct value=\"0\"> <input type=button value=&Euml;&Ntilde;&Euml;÷ onclick=\"return bq(f1,1,0);\">&nbsp;&nbsp;&nbsp;</td>
    <td valign=\"middle\" nowrap>
    <a href=\"#\" target=\"_blank\">°&iuml;&Ouml;ú</a>&nbsp;|&nbsp;<td></td>
    </tr></form>";
    preg_match("/<form[^\>]*?>(.*)<\/form>/is",$str1,$m);
    print_r($m);
    ?>
      

  2.   

    bingofei(bingo)  :的写法还是有点问题啊.象以下同时有两组form这样的就替换不了.
    ++++++++++++++++++++
    <form >*********
    </form>
    我不需要替换的内容
    <form>****
    ****
    ***
    </form>
    ++++++++++++++
    按照你的写法  这里的字符.全部都被替换了.  我只需要替换一组就可以了
      

  3.   

    用非贪婪模式
    preg_match_all("/<form[^\>]*?>(.*)<\/form>/isU",$str1,$m);
      

  4.   

    <?php
    $str1="<form name=f1 action=\"spade?gimoo=wldi\">
    </tr></form>
    asdf
    <form>asdf</form>";
    preg_match_all("/<form[^\>]*?>(.*?)<\/form>/is",$str1,$m);
    print_r($m);
    ?>