2012-10-01 3 views
2

XML 문자열을 반환하는 javascript 함수를 사용하고 있습니다. 그러나 IE 내에서 이스케이프 문자가 포함 된 XML 문자열을 다시 가져옵니다. 큰 따옴표는 " " 대신 " 이스케이프 처리 된 문자 시퀀스 항목을 쉽게 제거 할 수 있습니까?
덕분에, 데릭이스케이프 처리 된 문자 제거

답변

0

자바 스크립트의 replace() 메소드를 사용하십시오.

jsFiddle

:

var string1 = "This is a string with all the \\\" characters escaped"; 

document.write(string1); // outputs: This is a string with all the \" characters escaped 

document.write("<br />"); 

string1 = string1.replace("\\", ""); 

document.write(string1); // outputs: This is a string with all the " characters escaped 
+0

나는 직접적으로이 접근법을 좋아한다. 그러나 적어도 IE 버전 9에서는 작동하지 않는 것 같습니다. IE에서 jsFiddle을 열고 나와 같은 문제가 있는지 확인하십시오. –

+0

예 : jsfiddle을 사용할 때 문서가 하나만있을 수있는 것처럼 보입니다 ... 고정되어 있습니다. http://jsfiddle.net/GSUES/ –

+0

@JanSommer : 고마워, 바이올린으로 내 대답을 업데이트했습니다. – Travesty3

1

이 문제를 해결하기 전에, 당신은 다른 문자가 교체되고있는 조사해야합니다. 예를 들어, 다른 브라우저에서 하나의 \을 얻을 경우 IE에서 \\이 발생합니까? 표준 C 이스케이프 첨가하는 경우

다음 JSON.parse 등, 라인 급지로 \, \n 내로 "\" 같은 \\을 시퀀스로 변환한다

'foo\\bar\nbaz"' === JSON.parse('"foo\\\\bar\\nbaz\\""') 

JSON.parse 기본적에서 지원 가장 최근의 브라우저 및 IE에서 특히 IE 8로 돌아갑니다. relevant MSDN page

Supported in the following document modes: Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards. Also supported in Windows Store apps. See Version Information.

Not supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards.

+0

안녕하세요. 대체중인 다른 문자는 \ t까지의 탭이고 \ n은 줄 바꿈입니다. 그리고 이것은 실제로 IE 나 Chrome에서만 발생합니다. JSON.parse를 사용해 보려고합니다. 특정 라이브러리를 포함시켜 사용해야합니까? –

+0

@geoderek, 특정 라이브러리가 필요한지 여부는 IE의 버전에 따라 다릅니다. [MSDN의 JSON 페이지] (http://msdn.microsoft.com/en-us/library/cc836466%28v=vs.94%29.aspx)는'JSON.parse'가 "다음 문서 모드에서 지원됩니다 : 인터넷 Explorer 8 표준, Internet Explorer 9 표준, Internet Explorer 10 표준을 지원합니다. " IE 6 또는 IE 7에서 동일한 문제가 발생하면 https://github.com/douglascrockford/JSON-js 또는 JSON.org의 다른 파서 중 하나를 사용해야합니다. –

+0

좋아, 지금 노력하고있어. 코드 줄은 JSON.parse (strInfo)이며 오류를 반환합니다. 잘못된 문자입니다. 변수 strInfo는 이스케이프 된 문자가 포함 된 XML 문자열입니다. 나는 JSON.parse를 올바르게 사용하지 않을 것으로 짐작하고있다. –

관련 문제