Connecting Tech Pros Worldwide Help | Site Map

Unescape escapeXML text

Robert Mark Bram
Guest
 
Posts: n/a
#1: Oct 14 '08
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!"/
Quote:
>";
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
:)
Bart Van der Donck
Guest
 
Posts: n/a
#2: Oct 14 '08

re: Unescape escapeXML text


Robert Mark Bram wrote:
Quote:
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!"/
Quote:
";
>
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
dhtml
Guest
 
Posts: n/a
#3: Oct 15 '08

re: Unescape escapeXML text


Robert Mark Bram wrote:
Quote:
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!"/
Quote:
>";
>
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
Quote:
>
Rob
:)

--
comp.lang.javascript FAQ <URL: http://jibbering.com/faq/ >
Thomas 'PointedEars' Lahn
Guest
 
Posts: n/a
#4: Oct 15 '08

re: Unescape escapeXML text


Robert Mark Bram wrote:
Quote:
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*
Quote:
How to I unescape this?
Maybe

someVar = someVar.replace(/&lt;/g, "<").replace(/&gt;/g, ">"
.replace(/&amp;/g, "&");
Quote:
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.
Quote:
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
Robert Mark Bram
Guest
 
Posts: n/a
#5: Oct 16 '08

re: Unescape escapeXML text


Thanks to all for the input!
Closed Thread