By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,286 Members | 2,422 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,286 IT Pros & Developers. It's quick & easy.

Unescape escapeXML text

P: n/a
Hi All,

I have an application that is writing Javascript with JSP server side
code that uses escapeXML:

var someVar = "<c:out escapeXml="true" value="You'll never escape!"/
>";
How to I unescape this? Using the unescape() function doesn't cut
it..
unescape("You'll never escape!");

Do I have to use regex to replace or is there some other way?

Thanks for any assistance!

Rob
:)
Oct 14 '08 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Robert Mark Bram wrote:
I have an application that is writing Javascript with JSP server side
code that uses escapeXML:

var someVar = "<c:out escapeXml="true" value="You'll never escape!"/
";

How to I unescape this? Using the unescape() function doesn't cut
it. unescape("You'll never escape!");

Do I have to use regex to replace or is there some other way?
var txt = 'apostrophe ' / double quote: " / '
+ ' s: s / : è / Chinese sign: 新';

txt = txt.replace(/(&#)([0-9]{1,5})(;)/g,
function (a1, a2, a3, a4) {
return String.fromCharCode(a3);
}
);
alert(txt);

Hope this helps,

--
Bart
Oct 14 '08 #2

P: n/a
Robert Mark Bram wrote:
Hi All,

I have an application that is writing Javascript with JSP server side
code that uses escapeXML:

var someVar = "<c:out escapeXml="true" value="You'll never escape!"/
>";

How to I unescape this? Using the unescape() function doesn't cut
it..
unescape("You'll never escape!");
Or could escape it differently.

If you are using struts you can use StringEscapeUtils.escapeJavaScript.

Would be really nice to have c:out handle that.

Fictitious example:
<c:out escapeJavaScript="true" value="You'll never escape!"/>

Garrett
>
Rob
:)

--
comp.lang.javascript FAQ <URL: http://jibbering.com/faq/ >
Oct 14 '08 #3

P: n/a
Robert Mark Bram wrote:
I have an application that is writing Javascript with JSP server side
code that uses escapeXML:

var someVar = "<c:out escapeXml="true" value="You'll never escape!"/>";
*g*
How to I unescape this?
Maybe

someVar = someVar.replace(/&lt;/g, "<").replace(/&gt;/g, ">"
.replace(/&amp;/g, "&");
Using the unescape() function doesn't cut it..
unescape("You'll never escape!");
It is not supposed to. unescape() decodes (ASCII) percent-encoded strings.
It was primarily used to decode URI components, and is now deprecated in
favor of decodeURI() and decodeURIComponent(), which in addition can decode
UTF-8 percent encoding.
Do I have to use regex to replace or is there some other way?
A regular expression like above would not help in your case because the
escaping of `"' needs to take place *before* you insert the value with JSP,
i.e. "on the server".

You do not need `escapeXml="true"' if you declare the content of the XHTML
`script' element CDATA, provided the string never contains `"', like
in your example:

<script type="text/javascript">
// <![CDATA[
...
]]>
</script>

But if the `<' and `>' are your only problems, you could as well move the
code to an external script file or simply use HTML instead.
PointedEars
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
Oct 15 '08 #4

P: n/a
Thanks to all for the input!
Oct 16 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.