看不明白了
你上面那个哪个是不属与html内的?

解决方案 »

  1.   

    说的简单点吧,就是不在html标记尖括号里面的2008都应当替换掉,比如<a href="12312313">你好2008</a>是不在<>里面的。
    又如<a href="http://www.xxx.com/2008">你好</a>,这个2008就在<>里面,不替换它谢谢
      

  2.   


    var str='<a href="javascript:searchLinkurl(\'/life/2008/0508/article_7072.html\',\'2008\')" target="_self">外汇汇率20080508上午</a>'
              +'<a href="javascript:searchLinkurl(\'/life/2008/0508/article_7072.html\',\'2008\')" target="_self">外汇汇率20080508上午</a>';
      document.write(str+"<br/>");//输出原来的值
      var Key="2008";//要替换的字符串
      var reg=new RegExp("<[^>]*>([^>]*?"+Key+"[^>]*?)<\/[^>]*>","gi")
      var Result="";
      while(m=reg.exec(str))
      {
        Result+=m[0].replace(m[1],m[1].replace(new RegExp("("+Key+")","gi"),function($1){return "<font color='red'>"+$1+"</font>";}));
      }
    if(Result=="")Result=str;//没有匹配的时候将结果置为原来的值
     document.write(Result);
      

  3.   

    如果套替换随即的了  你只能替换 2008 或者自己定义的
    我把你的修改下 var str='<a href="javascript:searchLinkurl(\'/life/2008/0508/article_7072.html\',\'2008\')" target="_self">外汇汇率20080508上午</a>'
              +'<a href="javascript:searchLinkurl(\'/life/2008/0508/article_7072.html\',\'2008\')" target="_self">外汇汇率20080508上午</a>';
      document.write(str+"<br/>");//输出原来的值
    要替换的字符串
      var reg=new RegExp("<[^>]*>([^>]*?([.]*)[^>]*?)<\/[^>]*>","gi")
      var Result="";
      while(m=reg.exec(str))
      {
        Result+=m[0].replace(m[1],m[1].replace(new RegExp("("+Key+")","gi"),function($1){return "<font color='red'>"+$1+"</font>";}));
      }
    if(Result=="")Result=str;//没有匹配的时候将结果置为原来的值
     document.write(Result);