c#的正则那块语法不会...
JS的实现如下...
<script type="text/javascript">
var string = '<SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN> '
var span = /<span\b(?:'[^']*'|"[^"]*"|[^"'>])+?(style=(?:'[^']*'|"[^"]*"|[^ "'>]*))(?:'[^']*'|"[^"]*"|[^"'>])*>/ig;
var a = [];
while (span.test(string))
a.push(RegExp.$1 || RegExp.$2 || RegExp.$3 || '');
alert(a.join('\n'));
</script>

解决方案 »

  1.   

    <SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN> 
    能不能写个正则 虑掉SPAN的所有样式  只留 它style="POSITION:relative;TOP:4px;" 
    写俩个版本 一个c#一个JS的var a=/^style\=\"[.]*\"$/g
    str.replace(a,"")
      

  2.   

    2楼的朋友 我试了下好象 样式还有 只留 它style="POSITION:relative;TOP:4px;" 
      

  3.   

    <html>
    <script type="text/javascript">
    function $(o)
    {
    return document.getElementById(o);
    }
    function styleFilter()
    {
    $("sp1").removeAttribute("style");
    $("sp1").style.position="relative";
    $("sp1").style.top="4px";
    }
    </script>
    <body>
    <input type="button" onclick="styleFilter()" value="Show Style">
    <SPAN id="sp1" title="fdsafdsa " contentEditable=false style="font-size:60px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> asdfasdfasdfasdf</SPAN> 
    </body>
    </html>
      

  4.   

    能用正则写么  样式只保留 style="POSITION:relative;TOP:4px;"  其他的都虑掉
      

  5.   

    哦 能写一个保留 style="POSITION:relative;TOP:4px;"它的么? 其他的所有样式都不要
      

  6.   

    不好意思忘记了
    var a=/^style\=\"[.]*\"$/g 
    str.replace(a,"style='POSITION:relative;TOP:4px;'")
    应该可以了哈
      

  7.   

    <html>
    <script type="text/javascript">
    function styleFilter()
    {
    var spStyle="font-size:60px; text-align:center; float:left;POSITION:relative;TOP:4px;";
    alert(spStyle.replace(/.*(?=POSITION:relative;TOP:4px;)/,""));
    }
    </script>
    <body>
    <input type="button" onclick="styleFilter()" value="Show Style">
    </body>
    </html>
      

  8.   

    我先说说我想要的结果 这个就是<SPAN title="fdsafdsa " contentEditable=false style="POSITION:relative;TOP:4px;" name="fdsafdsa"></SPAN> 
      

  9.   

    恩这个是不会错的 可得样式 并不至这些font-size:60px; text-align:center; float:left;POSITION:relative;TOP:4px;还有别的呢 得考虑的全面点 
      

  10.   

    虽然可以写一个里,不过那样会很长...:D
    所以用了两个式子.
    <script type="text/javascript">
    var string = '<SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN> '
    var span = /(<span\b(?:'[^']*'|"[^"]*"|[^"'>])+?)(?:style=(?:'([^']*)'|"([^"]*)"|([^ "'>]*)))((?:'[^']*'|"[^"]*"|[^"'>])*>)/ig;
    var style = /^(?=.*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=.*?(\btop\s*:\s*\w*\b\s*;?)|.).*$/i;alert( string.replace(span, function (l, $1, $2, $3, $4, $5) {
    return $1 + 'style="' + ($2 || $3 || $4).replace(style, function (l, $1, $2) {
    return ($1 || '') + ($2 || '');
    }) + '"' + $5;
    }));
    </script>
      

  11.   


    这个只能说对了1/3这样吧假如POSITION:relative;TOP:4px;链接一起的就没什么问题,假如是分散的呢?比如POSITION:relative;float:left;TOP:4px;所以^
      

  12.   

    这个要看具体的代码是怎么样的了,如果还有其它的,要改下doing..
      

  13.   

    muxrwc的对了  要个C#的  
    具体的情况就是什么样的样式都可能出现都虑掉  只留style="POSITION:relative;float:left;TOP:4px;"  要不我的程序会出问题 
      

  14.   


    var str='<SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; '
     +'float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN>';
     alert(str)
    var reg=/(top|position):([^;]+)?/gi//第1个括号中定义要保留的属性
    str="<span style=\""+str.match(reg).join(";")+"\"></span>"
     alert(str)
      

  15.   

    title 和contentEditable name 都没拉
      

  16.   

    js的不那么麻烦,不用正则都可以。C#帮不上忙了
    <SPAN title="fdsafdsa " contentEditable=false 
          style="font-size:16px;text-align:center;color:#FF0000;
                 float:left;POSITION:relative;TOP:4px;"
          name="fdsafdsa">
          abcddd
    </SPAN>
    <script>
       var oSpan=document.getElementsByName("fdsafdsa")[0];
       oSpan.style.cssText="position:relative,top:4px;color:green";
    </script>
      

  17.   

    <script type="text/javascript">
    var string = '<SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN> 'var span = /(<span\b(?:'[^']*'|"[^"]*"|[^"'>])+?)(?:style=(?:'(?=[^']*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^']*?(\btop\s*:\s*\w*\b\s*;?)|.)[^']*'|"(?=[^"]*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^"]*?(\btop\s*:\s*\w*\b\s*;?)|.)[^"]*"|(?=[^ "'>]*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^ "'>]*?(\btop\s*:\s*\w*\b\s*;?)|.)[^ "'>]*))((?:'[^']*'|"[^"]*"|[^"'>])*>)/ig;
    //'改成一个式子的,这样改成C#的就方便了PS写这么长是相对来说严谨一点否则真是针对此问题,而不是此类问题的话,可以写很短。C#的偶就不改了,还要转义什么的挺麻烦的。。飘走。。
    alert(
    string.replace(span, '$1style="$2$3$4$5$6$7"$8')
    );
    </script>
      

  18.   

    楼主要过滤的是整个HTML的文本内容吧,其实个人觉得可以这样写:HTMLText="<span style=\"font-size:60px; text-align:center; float:left;POSITION:relative;TOP:4px;asdfasdf\">123</span>";
    alert(HTMLText.replace(/(style=\".*\")/g,""));
      

  19.   

    sorry,不是替换为空

    HTMLText=" <span style=\"font-size:60px; text-align:center; float:left;POSITION:relative;TOP:4px;asdfasdf\">123 </span>"; 
    alert(HTMLText.replace(/(style=\".*\")/g,"style=\"POSITION:relative;TOP:4px;\""));
      

  20.   

    那段程序有问题,只在ff下可以执行,让lz误导了。除了ff外ie和opera都不能用
    document.getElementsByName() 取得非表单对象控件以外的元素。比如下面的例子
    ff能找到div1而ie和op则不可以。感觉有些莫名其妙都一样是dom为什么不能一视同仁呢,
    还是ff大度一些。忠实支持ff<div name="div1">
    <SPAN title="fdsafdsa " contentEditable="false" 
          style="font-size:16px;text-align:center;color:#FF0000;float:left;POSITION:relative;TOP:4px;"
           name="span1" id="span1">       
          abcddd
    </SPAN>
    <script>
       alert(document.getElementsByName("div1").length);
       var oSpan=document.getElementById("span1");  
       oSpan.style.cssText="position:relative,top:4px;color:green";
    </script>
      

  21.   

    <script type="text/javascript">
    var string = '<SPAN title="fdsafdsa " contentEditable=false style="font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;" name="fdsafdsa"> </SPAN> 'var span = /(<span\b(?:'[^']*'|"[^"]*"|[^"'>])+?)(?:style=(?:'(?=[^']*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^']*?(\btop\s*:\s*\w*\b\s*;?)|.)[^']*'|"(?=[^"]*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^"]*?(\btop\s*:\s*\w*\b\s*;?)|.)[^"]*"|(?=[^ "'>]*?(\bposition\s*:\s*[a-z]*\b\s*;?)|.)(?=[^ "'>]*?(\btop\s*:\s*\w*\b\s*;?)|.)[^ "'>]*))((?:'[^']*'|"[^"]*"|[^"'>])*>)/ig;
    //'改成一个式子的,这样改成C#的就方便了PS写这么长是相对来说严谨一点否则真是针对此问题,而不是此类问题的话,可以写很短。C#的偶就不改了,还要转义什么的挺麻烦的。。飘走。。
    alert(
        string.replace(span, '$1style="$2$3$4$5$6$7"$8')
    );
    </script>
    帮我转义一下C#的好么
      

  22.   

    《庆五一全场产品火爆大特卖》 详情请登陆:www.szxxmn.com全新原装行货、价格便、其配件有双电双充、耳机、光盘、数据线、合格证、带有发票保修卡 可全国联保.诺基亚N73--1180元,N82--2000元 QQ:971409259
      

  23.   

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Text" %>
    <%@ Import Namespace="System.Text.RegularExpressions" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    
        private void Page_Load(object sender, EventArgs e)
        {
            string str = "<SPAN title=\"fdsafdsa \" contentEditable=false style=\"font-size:16px; text-align:center; float:left;POSITION:relative;TOP:4px;\" name=\"fdsafdsa\"> </SPAN>";
            string span = "(<span\\b(?:'[^']*'|\"[^\"]*\"|[^\"'>])+?)(?:style=(?:'(?=[^']*?(\\bposition\\s*:\\s*[a-z]*\\b\\s*;?)|.)(?=[^']*?(\\btop\\s*:\\s*\\w*\\b\\s*;?)|.)[^']*'|\"(?=[^\"]*?(\\bposition\\s*:\\s*[a-z]*\\b\\s*;?)|.)(?=[^\"]*?(\\btop\\s*:\\s*\\w*\\b\\s*;?)|.)[^\"]*\"|(?=[^ \"'>]*?(\\bposition\\s*:\\s*[a-z]*\\b\\s*;?)|.)(?=[^ \"'>]*?(\\btop\\s*:\\s*\\w*\\b\\s*;?)|.)[^ \"'>]*))((?:'[^']*'|\"[^\"]*\"|[^\"'>])*>)";
            Regex r = new Regex(span, RegexOptions.IgnoreCase);
            Response.Write(
                "<script type=\"text/javascript\">alert('" + r.Replace(str, "$1style=\"$2$3$4$5$6$7\"$8") + "');</s" + "cript>"
            );
            Response.End();
        }
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>