正在对java中的javascript字符串进行转义

Escaping javascript string in java

本文关键字:字符串 转义 javascript 中的 java      更新时间:2023-09-26

我需要在java:中将其转换为字符串

 <script type="text/javascript">document.write("<img src='"UpArrow.png'" /> '"); </script>

有人能帮忙吗?我一直在努力,结果是这样。。。

return "<script type='"text/javascript'">document.write('"<img src='"UpArrow.png'" /> '"); </script>";

这不起作用,因为我需要对UpArrow.png前后的引号进行双转义。因为它需要在javascript中转义,而不是在java中转义。

2019更新:如果你正在看这个,上帝保佑你的灵魂。这是一个糟糕的代码,如果你试图用这种方式做事,你就错了(正如其他人对我的建议)。

要做到这一点,正确的方法是jquery或现在存在的无数DOM修改框架之一,并将内容放入DOM的范围或从DOM的范围中弹出。

如果你在做这件事,你不应该看上面的代码或下面的解决方案,而是应该去了解更多,因为这是一条制作意大利面条代码的途径。

Apache commons在StringEscapeUtils中有一个方法:escapeJavaScript方法。

看起来它在Apache Commons Lang 3中被移到了StringEscapeUtils中的ESCAPE_EMASCRIPT。

https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/src-html/org/apache/commons/lang3/StringEscapeUtils.html#line.74

它似乎又移动了,现在它是"commons text"的一部分,并命名为:

StringEscapeUtils.escapeEcmaScript

但好的是,它仍然存在。