<table width="1001">
<tr class="m_title2">
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>  <td>
  <table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="100%">
  <tr>
  <td>xxx</td>
  <td>xxx</td>
  <td>xxx</td>
  <td>xxx</td>
  <td>xxx</td>
  </tr>
  </table>

  </td>
</tr>
</table>
 可以preg_replace 替换掉里面的 整个  <table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="100%">****</table> 蓝色 为空 ,变成<table width="1001">
<tr class="m_title2">
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>  <td>
  NULL (替换的结果)
  </td>
</tr>
</table>
可以告诉我如何写 这个CODE吗?

解决方案 »

  1.   

    斑竹不是给了贴了了个么?怎么又开一个帖子?
    $patten = '/<table[^<>]+?width\s*=\s*"100%">.*<\/table>';
    echo preg_replace($patten,'',$str);
      

  2.   

    不好意思 因为 斑竹给的 不能替换,
    你给的 虽然能替换 但是 替换到下面了 第二个 </TABLE><table width="1001">
    <tr class="m_title2">
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>  <td>
      NULL (替换的结果)
     
    就是不是替换到第一个</table>  而且到第二个 </table> ,
    使我少了一个<TABLE></TABLE>内容!
      

  3.   

    da jiang you
      

  4.   

    <?php
    $str = <<<EOT
    <table width="1001">
    <tr class="m_title2">
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>  <td>
    <table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="100%">
    <tr>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
    </tr>
    </table>
      </td>
    </tr>
    </table>
    EOT;
    $patten = '/<table( +[^<>]*)?width="100%">.*<\/table>/isU';
    //preg_match_all($patten,$str,$arr);
    echo preg_replace($patten,NULL,$str);