2011-02-11 144 views
1

我还有很长很长的HTML需要被封闭在其中又包含在Java字符串JavaScript字符串如下:HTML字符串内嵌套字符串

String html = "javascript:var html='...all goes here...';void(0);"; 

现在在哪儿写...一切顺利在这里......,所有的html都包含“和”,甚至其他特殊字符,我可以用Java方式跳过它们吗?

+0

借“跳过”,你的意思是“逃离”,如`”。 ..“...”`? – 2011-02-11 15:19:56

+0

是的我的意思是 – Neutralizer 2011-02-11 15:23:52

回答

1

在这里你可以获得多次解释的字符串的乐趣。你的“引号需要为java转义,但是你的引号需要转义为javascript。因此,你的引号可以正常地转义,但是当javascript被解释时,你的引号需要\字符放在它们的前面,所以你需要一个在你的java字符串(或\,一个转义)的文字\。因此,如果你设置你的HTML变量到HTML:

<span class="class">Here's Johnny!</span> 

你需要做的:

String html = "javascript:var html='<span class=\"class\">Here\\'s Johnny!</span>';void(0);"; 
1

在大多数语言中,双引号可以放在双引号字符串中:

"This is a quoted string: \"I'm a quoted string\"." 

需要这样的事情(将js代码插入到字符串中)可能表明您的代码设计不正常。

+0

你忘记了你的字符串在这里被解释两次,一次是在Java中,一次是在Javascript中。 – jswolf19 2011-02-11 15:24:09