文档章节

Javascript: unterminated string literal 解决方法

喜欢敲代码的感觉
 喜欢敲代码的感觉
发布于 2014/10/28 14:39
字数 300
阅读 873
收藏 4
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)));  
  }

本文转载自:http://blog.csdn.net/hhq163/article/details/7254718

喜欢敲代码的感觉
粉丝 1
博文 41
码字总数 8149
作品 0
西安
程序员
私信 提问
CoffeeScript 1.8 发布啦~

CoffeeScript 1.8 发布啦,现已提供下载,更新内容如下: The --join option of the CLI is now deprecated. Source maps now use .js.map as file extension, instead of just .map. The C......

oschina
2014/08/28
3.1K
15
C#代码与javaScript函数的相互调用

问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码...

孟宪迎
2009/12/27
164
0
JavaScript(六):数据类型

在计算机科学中, (数据)大于一切,因为它对于计算机的意义重大。提供七种不同的(数据类型),它们是: undefined(未定义), null(空), boolean(布尔型), string(字符串), symbol(符号)...

Agnes2017
2018/09/26
0
0
smarty syntax error: unrecognized tag 'var' 的原因...

今天在进行某个CMS模板开发的时候,发现使用搜索功能时,出现smarty syntax error: unrecognized tag 'var'..... 屏蔽搜索的js后,又正常了,经过搜索,发现smarty默认的界定符为 :{ },而j...

Ric的博客
2013/05/29
0
0
RethinkDB 1.16.3 发布,分布式数据库

RethinkDB 1.16.3 发布,此版本主要是 bug 修复: Fixed a bug that could cause a crash when reading from a secondary index in some rare circumstances (#3976) Fixed a bug that could......

oschina
2015/03/30
881
1

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针的使用

#include <stdio.h>#include <stdlib.h>typedef struct node Node;struct node {int data;struct node* next;struct node* prev;};Node head;Node* insert(Node......

小张525
34分钟前
2
0
【大数据技术】——Hadoop(1)

什么是大数据 基本概念 《数据处理》 在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经...

须臾之余
48分钟前
7
0
比特币从地址逆向计算私钥

区块链 区块链简介 说到比特币,就不得不提区块链。那什么是区块链呢? 区块链本质是一个数据集,只不过数据的组织采用了比较特殊的方式,就是把数据拆分为一块一块的小数据集。 为什么要进行...

trayvon
今天
1
0
TypeScript……真香

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的...

郁也风
今天
3
0
shell基本案例

1、自定义rm linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。下面分两种情况,做...

寰宇01
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部