<script>
var str= '<a href="{APP_WAP_HOST}……">some_text</a>”,则跳过这个“<a href="">some_text</a>字符串';
str=str.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)<\/a>/gi, '<font color=\'blue\'><u>$1</u></font>');
alert(str);
</script>

解决方案 »

  1.   

    谢谢jinjuduo()!我仿照您的,这样写:.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)<\/a>/gi, "<font color=\"blue\"><u>$1</u></font>");但不行,没有跳过形如“<a href="{APP_WAP_HOST}……">some_text</a>”的字符串
      

  2.   

    我上面的脚本运行没有问题,你的代码是严格执行“<a href="{APP_WAP_HOST}……">这样的吗
    还是中间还夹杂者其他的代码?
    要不把你要替换的代码部分贴出了,我给你测试一下
      

  3.   

    好的,谢谢您了!比如,下面的字符串(乱码,因为是UTF-8的):<p>涓€涓€涓€<br/>浜屼簩浜?lt;br/><a href="{A_PIC_SHOW}perfee=0&amp;kind=picture&amp;img_id=b051110030&amp;CPID=80007">鍥涘洓鍥?lt;/a><br/><a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛?lt;/a></p>
      

  4.   

    就是说,上面的字符串中的“<a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛?lt;/a>”这一部分要跳过。
      

  5.   

    <script>
    var str= '<p>涓€涓€涓€<br/>浜屼簩浜?lt;br/><a href="{A_PIC_SHOW}perfee=0&amp;kind=picture&amp;img_id=b051110030&amp;CPID=80007">鍥涘洓鍥?lt;/a><br/><a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛?lt;/a></p>';
    str=str.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)\?lt\;\/a>/gi, "<font color=\"blue\"><u>$1</u></font>");alert(str);
    </script>
    你的问题出在?lt;/a> 原来是</a>把它变成?lt;/a>
      

  6.   

    如果在正则的pattern中,把“<”改成“lt;”,我在帖头说的第二个功能是实现了,但第一个功能就不行了。就是说对上面的字符串中的“<a href="{A_PIC_SHOW}perfee=0&amp;kind=picture&amp;img_id=b051110030&amp;CPID=80007">鍥涘洓鍥?lt;/a>”部分的转换就不行了。您有什么好办法吗?
      

  7.   

    不是全都改变,是在需要的地方改变
    如<a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛?lt;/a></p>'
    只是后面的?lt;/a>”这个 < 改成“lt;”,
    而对上面的格式是一样的如果不一样就加上个(<|lt;)
    <script>
    var str= '<p>涓€涓€涓€<br/>浜屼簩浜?lt;br/><a href="{A_PIC_SHOW}perfee=0&amp;kind=picture&amp;img_id=b051110030&amp;CPID=80007">鍥涘洓鍥?lt;/a><br/><a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛</a></p>';
    str=str.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)(lt;|<)\/a>/gi, "<font color=\"blue\"><u>$1</u></font>");alert(str);
    </script>
      

  8.   

    现在加一个选择这样写:.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)(lt;|<)\/a>/gi, "<font color=\"blue\"><u>$1</u></font>");还是不行 :(   、、、
      

  9.   

    怪了,这样测试是没问题的:<script>
    var str = '<p>涓€涓€涓€<br/>浜屼簩浜?lt;br/><a href="{A_PIC_SHOW}perfee=0&amp;kind=picture&amp;img_id=b051110030&amp;CPID=80007">鍥涘洓鍥?lt;/a><br/><a href="{APP_WAP_HOST}wap_show.php?id=150">鍛滃憸鍛?lt;/a></p>';str1 =s tr.replace(/<a href=\"(?!{APP_WAP_HOST})[^>]*>([\s\S]*?)(lt;|<)\/a>/gi, "<font color=\"blue\"><u>$1</u></font>");alert(str+'\n'+str1);
    </script>
      

  10.   

    看看你的 < 到底转成了什么是上面我只是根据你的代码写的lt;
      

  11.   

    呵,看你这个帖子挂了好长时间了的说。。
    <script type="text/javascript">
    var string = [
    '一、总体上,把形如“<a href="">some_text</a>”字符串转换为',
    '“<font color="blue"><u>some_text</u></font>”的形式,some_text不变;',
    '二、但如果“<a href="">some_text</a>”中含有“{APP_WAP_HOST}”,即形式为“<a href="{APP_WAP_HOST}……">some_text</a>”',
    '则跳过这个“<a href="{APP_WAP_HOST}……">some_text</a>”字符串,不对其转换。'
    ].join("");
    string = string.replace(/<a\shref="(?!\{APP_WAP_HOST\})[^"]*">((?:.|\n|\r)*?)<\/a>/ig, '<font color="blue"><u>$1</u></font>');
    alert(string);
    </script>
      

  12.   

    乱码?
    AJAX获得的返回信息么?
    可以从服务器端转好了在弄嘛。。(借用信息的话)
    如果是自己和自己通信用AJAX。只需要发送信息的时候用URLEncode转化下中文。然后服务器端charset = "gb2312"即可。。