<?php
/**
功能:替换中文字符串
@$string传入的要替换的字符串
@$replacement 要将要替换的字符替换成的字符串,默认替换成""
@return 替换以后的字符串
*/
function rzs($string,$replacement="")
{
$pattern = "/style.*?;\\\"/i";
return preg_replace($pattern, $replacement, $string);
}
//$a = "<table style=\"BORDER-RIGHT: medium none; mso-border-left-alt: 1.5pt;\" border=1 width=100>\r\n<table style=\"BORDER-RIGHT: medium none; mso-border-left-alt: 1.5pt;\" border=1 width=100>";
$a = "<table style=\"BORDER-RIGHT:medium none;mso-border-left-alt:1.5pt;\"  border=\"1\"  width=100><tr><td style=\"BORDER-RIGHT:medium none;mso-border-left-alt:1.5pt;\" width=67>";$c =  rzs($a,"");
//exit;
//exit;
?>
<TEXTAREA NAME="" ROWS="6" COLS="70"><?php echo $a;?></TEXTAREA>
<TEXTAREA NAME="" ROWS="6" COLS="70"><?php echo $c;?></TEXTAREA>
看看这个可以么.

解决方案 »

  1.   

    看了下,按上面的可行,你这个现在是以style中分号(;)为结束标志,那如果BORDER-RIGHT:medium none;mso-border-left-alt:1.5pt;中最后的分号是没有的BORDER-RIGHT:medium none;mso-border-left-alt:1.5pt,就不成了。
    这两天断断续续在网上看了点基础的,一个头两个头,晕;
    我在看在线编辑器中的js中看到这个:
    function cleanAndPaste( html ) {
    html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
    html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
    html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
    html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
    html = html.replace(/&nbsp;/, " " );

    insertHTML( html ) ;
    }
    我想搬到php中用,出错...郁闷;
      

  2.   

    我一开始问的是其中一个问题,本来想先解决掉一个,其他就自己再摸索;总的是这样的:
    将word文档(文档里都是表格)转成web页预览,查看源文件,可以看到原代码中table有很多代码,不像dreamweaver做出来的表格代码就相对简洁;
    我想用正则把多余的代码都去掉,只留下简单的如<table width=100% border=0 cellspacing=0><tr><td></td></tr></table>这样的代码;