我在做文章系统的时候要过滤掉一些字符.
比如 共产党 什么的.只是 共产党 倒好办,但如果是 
<font>共</font>产党 
或者
<a href="">共<strong>产</strong>党</a>我应该怎么过滤呢?

解决方案 »

  1.   

    <p><u><strong><font size="\&quot;5\&quot;"><font color="#008000">共</font><font color="#000cf0">产</font><font color="#00f000">党</font></font></strong></u>大<font color="#339966" size="5">共</font>家<font color="#0000ff" size="5">产</font>好<font color="#0000ff" size="5"><u>党</u></font>吼<u><strong><font size="5"><font color="#008000">共</font><font color="#000cf0">产</font><font color="#00f000">党</font></font></strong></u></p>
      

  2.   

    string inputtext="23共12産,69党***************** 共rtb産</d>党";
    string outpu=Regex.Replace(inputtext,"共(?<A>.*?)産(?<B>.*?)党","${A}${B}");
    Console.WriteLine(outpu);
    ---------------------------------------------------------
    输出 2312,69***************** rtb</d>
      

  3.   

    要过滤的是 共产党 这三个字中间只能有<.+>
    而且还要是惰性的.
      

  4.   

    共产党
    中间出现哪些字符是不被过滤, 哪些对会被过滤?中间出现可显示的字符就不用过滤它?共(\s*((?(o)\<).*(?(-o)\>)\s*[^\w]+\s*)*\s*)*产党
      

  5.   

    共产党
    中间出现哪些字符是不被过滤, 哪些对会被过滤?中间出现可显示的字符就不用过滤它?共(\s*((?(o)\<).*(?(-o)\>)\s*[^\w]+\s*)*\s*)*产党(?(o)(?!))(?(o)(?!)) (?#如果还有<剩余就不匹配任何东西)
      

  6.   

    共产党
    这三个字中间出现任何在<>之外的字符
    比如 共a产党
    都被视为非 "共产党"
    而如果出现 <a>共<strong>产</strong>党</a>
    则被视为 "共产党" 要被过滤掉.
    总之不用被用户直接看到有 "共产党" 三个字连在一起的.