Javascript: unterminated string literal 解决方法

javascript使用document.write(str)进行输出时,常提示下列错误:

Error: unterminated string literal。通常原因是输出字符str中包含换行符导致的。

解决方法如下:

asp:
str=replace(str,vbcrlf,"",1,-1,1)

php:
$str = str_replace("\n", "", $str);
$str = str_replace("\r", "", $str);

然后再进行document.write(str)输出。

注:

jsp的对应函数:

public static final String htmlToCode(String s)
{
if(s == null)
{
return "";
} else
{ s = s.replace("\n\r", "<br>&nbsp;&nbsp;");
s = s.replace("\r\n", "<br>&nbsp;&nbsp;");//这才是正确的!
s= s.replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
       s =s.replace(" ", "&nbsp;");
   
    s=s.replace("\"", "\\"+"\"");//如果原文含有双引号,这一句最关键!!!!!!
return s;
}
}

如果这样写报错

s = s.replace("\n\r", "<br>&nbsp;&nbsp;");

s = s.replace("\r\n", "<br>&nbsp;&nbsp;");//这才是正确的!

s= s.replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");

s =s.replace(" ", "&nbsp;");

s=s.replace("\"", "\\"+"\"");//如果原文含有双引号,这一句最关键!!!!!!

不加最后一句就会无法判断双引号报错,注意最后一句是用\"替换“,但是注意转义字符写法!!!

这是普通的解决方法,另外一种保留回车的方法

先将\r\n替换为<br>,然后再将\r与\n替换掉,而不是简单的舍弃为‘’。

function   my_nl2br($s)  
  {  
  return   str_replace("\n",‘<br>‘,str_replace("\r",‘<br>‘,str_replace("\r\n",‘<br>‘,$s)));  
  }

时间: 2024-08-14 16:21:41

Javascript: unterminated string literal 解决方法的相关文章

Atitit. 解决unterminated string literal 缺失引号

Atitit. 解决unterminated string literal 缺失引号 原因:::或许string没使用引号括号起来...missingMessage缺失了一个单个的引号 Error: unterminated string literal.通常原因是输出字符str中包含换行符导致的. 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax <input type=&qu

unterminated string literal JS 【转】

javascript使用document.write(str)进行输出时,常提示下列错误: Error: unterminated string literal.通常原因是输出字符str中包含换行符导致的. 解决方法如下: asp: str=replace(str,vbcrlf,"",1,-1,1) php:$str = str_replace("\n", "", $str);$str = str_replace("\r",

PDO 查询mysql返回字段整型变为String型解决方法

PDO 查询mysql返回字段整型变为String型解决方法 使用PDO查询mysql数据库时.运行prepare,execute后,返回的字段数据全都变为字符型. 比如id在数据库中是Int的.查询后返回是String型. 对于php这样的弱类型的语言.影响不大. 在做API返回数据时.假设类型与数据库不一致,对于java和Objective C这些强类型,影响就非常大了. 解决方法: <?php $pdo = new PDO($dsn, $user, $pass, $param); // 在

SyntaxError: unterminated string literal

jquery错误SyntaxError: unterminated string literal 通常原因是输出字符str中包含换行符导致的.

Javascript中String的valueOf方法

今天看了Javascript的基础教程,其中说了一个关于typeof的问题.typeof运算符的作用就是返回一个变量的类型,如果变量是一个数字,则返回number. 如果是字符串,则返回string, 布尔类型则返回boolean, 函数则返回function, 如果变量是null或者其他Javascript对象,就返回object. 未定义就返回undefined. 如果要判断变量存在,而且是一个字符串的话:给出的判断语句是: if( (typeof unknownVariable != "u

Error: unterminated string literal。通常原因是输出字符str中包含换行符导致的。

1 s = s.replace("\n\r", "<br>  "); 2 s = s.replace("\r\n", "<br>  ");//这才是正确的! 3 s= s.replace("\t", "    "); 4 s =s.replace(" ", " "); ///这个按需要看自己是否要加, 我的不需要 也就没加

javascript跨域请求解决方法总结

javascript中有同源策略,javascript存在跨域通信的问题.典型例子如:Ajax无法直接请求跨域的普通文件,存在跨域无权限访问的问题. 几种常见的解决方法: JSONP  2.HTML5 postMessage 方法  3.document.domain + iframe  4.iframe+location.hash 一.JSONP web页面上只有<script><img><iframe>这些拥有"src"属性的标签是拥有跨域能力的

javascript中String的fromCharCode()方法

前几天遇到一个bug,后端的模板引擎在输出形如: <div title="111 aaa">内容</div> 这样的内容时,无法输出' '空格,所以只能用' '来代替: <div title="111 aaa">内容</div> 然后前端使用空格来切分title值: var arr1 = title.split(' '); 然后得到的arr1是这样的: ['111 aaa'] 我把' '换成' ' 或者直接   得到的

Python_报错:SyntaxError: EOL while scanning string literal

Python_报错:SyntaxError: EOL while scanning string literal 原因:python中,目录操作时,字符串的最后一个字符是斜杠,会导致出错,去掉\即可 上代码 >>> import os >>> os.chdir(r"e:\")#字符串的最后一个字符是斜杠,会导致出错 File "<stdin>", line 1 os.chdir(r"e:\") ^