Javascript: unterminated string literal 解決方法

字號(hào):


    javascript使用document.write(str)進(jìn)行輸出時(shí),常提示下列錯(cuò)誤:
    Error: unterminated string literal。通常原因是輸出字符str中包含換行符導(dǎo)致的。
    解決方法如下:
    asp:
    str=replace(str,vbcrlf,"",1,-1,1)
    php:
    $str = str_replace(" ", "", $str);
    $str = str_replace(" ", "", $str);
    然后再進(jìn)行document.write(str)輸出。
    注:
    jsp的對(duì)應(yīng)函數(shù):
    public static final String htmlToCode(String s)
    {
    if(s == null)
    {
    return "";
    } else
    { s = s.replace(" ", "<br>&nbsp;&nbsp;");
    s = s.replace(" ", "<br>&nbsp;&nbsp;");//這才是正確的!
    s= s.replace("", "&nbsp;&nbsp;&nbsp;&nbsp;");
    s =s.replace(" ", "&nbsp;");
    s=s.replace(""", "\"+""");//如果原文含有雙引號(hào),這一句最關(guān)鍵?。。。。?!
    return s;
    }
    }
    如果這樣寫報(bào)錯(cuò)
    s = s.replace(" ", "<br>&nbsp;&nbsp;");
    s = s.replace(" ", "<br>&nbsp;&nbsp;");//這才是正確的!
    s= s.replace("", "&nbsp;&nbsp;&nbsp;&nbsp;");
    s =s.replace(" ", "&nbsp;");
    s=s.replace(""", "\"+""");//如果原文含有雙引號(hào),這一句最關(guān)鍵?。。。。。?BR>    不加最后一句就會(huì)無法判斷雙引號(hào)報(bào)錯(cuò),注意最后一句是用"替換“,但是注意轉(zhuǎn)義字符寫法?。。?BR>    這是普通的解決方法,另外一種保留回車的方法
    先將 替換為<br>,然后再將 與 替換掉,而不是簡單的舍棄為‘’。
    function my_nl2br($s)
    {
    return str_replace(" ",'<br>',str_replace(" ",'<br>',str_replace(" ",'<br>',$s)));
    }