var s ="MeganFox slammedTransformer director "Michael Bay" for focusing more on special effects than acting, but he doesn't mind." 
我想把这个字符串用innerhtml输出到一个标签。可这个字符串中只要有双引号。就会错误。我用正则来转义。 
re=/"/g; 
s=s.replace(re,"\\\"");但还是错误啊。我想可能第一个与最后一个双引号它也替换了。所以还是错误。但我不知道如何只匹配中间的双引号,而保留开始与结尾的双引号啊. ps:不要在s字符串中直接转义,因为如果文章特别长了,不可能一一去加杠吧。所以最好还是替代的方法。

解决方案 »

  1.   

    如果文章真的很长,可以放在一个DIV中,再用JS去取,取出来的就是一个字符串变量,就不用再转义了
    <div style="display:none" id="content">MeganFox slammedTransformer director "Michael Bay" for focusing more on special effects than acting, but he doesn't mind.</div>window.onload = function(){
        var s = document.getElementById("content").innerText;
    };