preg_replace("/<[\/]{0,1}td.*>/isU","",$str)
你试试这样子是不是可以。

解决方案 »

  1.   

    不好意思,漏说了一些
    最后下往剩下的是  <td align="center">abc<br>test</td>包括<td的还有一点问题
    就是如果<td>.....</td>之间包含了Html代码,如果也是中间没有内容,比方说
    <td><font></font></td>
    希望也能清除掉,当然,中间不一定是font,可能是任何<....></...>代码请多多指教哦
    分不够我在加 ^_^
      

  2.   

    你的是不是想处理对HTML字符的现实处理呀?
    <td><?php echo htmlspecialchars($str)?></td>
      

  3.   

    这样呀,谢谢唠叨那最后剩下的是  <td align="center">abc<br>test</td>该怎么写呀?
      

  4.   

    to飞鸟
    也不是完全想处理Html字符的只是希望能够保留下有内容的<td xxxx>...<td>,去掉没内容的<td xxxx></td>也许不是<td>,也许是<front>,总之,只要是<xxxx></xxxx>间没有东西,就替换
      

  5.   

    preg_replace('/<td(.*)>[[:space:]]*<\/td>/isU','',$str); 好像不行 T_T
      

  6.   

    $res = "/(<.*[^<]>)(.+)(<\/.*[^>]>)/";
    preg_match_all($reg,$str, $out);
    for ($i=0; $i<count($out[2]); $i++)
    $str_out .= $out[2][$i];
      

  7.   

    preg_replace('/<td.*>[ \t\n\r\f]*<\/td>/isU','',$str);
      

  8.   

    preg_replace("/<td[^>]*>[[:space:]]*<\/td>/isU","",$str);
      

  9.   

    preg_replace("/<.*>[[:space:]]*<.*>/isU","",$str);
      

  10.   

    preg_replace("/<.*>[[:space:]]*<.*>/isU","",$str);不好意思,刚才这个肯定不对。
    preg_replace("/<.*>[[:space:]]*<\/.*>/isU","",$str);
    试试这个看。
      

  11.   

    [[:space:]]是什么意思?正则真是烦。。
      

  12.   

    唠叨的正则肯定没问题了
    preg_replace("/<td[^>]*>[[:space:]]*<\/td>/isU","",$str);多菜鸟的正则,我想这样写,大家看对不对
    preg_replace("/<(.*)>[[:space:]]*<\/\1>/isU","",$str);但是如果(.*)中不仅仅是td、faont....而是像td align="center"这样的,后面就不能用 \1了如何让\1 只出来(.*)中的第一段内容?
    例如td align="center"只显示 td呵呵,我的问题是解决的差不多了,延伸一下问题,大家讨论一下了