2016-07-29 3 views
-1

에서 이스케이프 처리합니다.에서 Classic ASP 변수를 사용하여 이스케이프 인용 부호를 사용하려면 어떻게해야합니까? ASP 변수는 DB에서 가져옵니다.Javascript 변수의 인용문을 클래식 ASP

var goala = "<%=(goal_a)%>"; 

을하지만, 분명히이 나타납니다 예기치 않은 식별자 기능을 나누기

var goala = "<p>testing "quotation" marks</p>"; 

페이지가로드 될 때,

로 : 내가 사용하고 있습니다.

편집 : jQuery를 사용하지 않고 "어떻게 jQuery를 사용하여이 작업을 수행 할 수 있습니까?"미안하지만 명확하지 않습니다.

아이디어가 있으십니까? 감사합니다.

+0

서버 측을 사용하는 언어는 무엇입니까? VBScript 또는 JScript? –

+0

* "jQuery 사용". * 할 수 없습니다. * 서버 측 *을 고쳐야합니다. –

+0

죄송합니다. 그 함수가 jquery를 사용하고 있다는 사실을 언급 한 것이지 jQuery를 사용하여 솔루션을 원했던 것이 아니라 원래의 게시물을 명확히했습니다. – Finn

답변

2

"jQuery 사용"방법을 물어 봤습니다. 당신은 할 수 없습니다. jQuery가 개입 할 즈음에는 코드가 이미 유효하지 않을 것이다. 서버 쪽을 수정해야합니다.

클래식 ASP에는 일반적으로이 문제를 해결하는 데 도움이되는 기본 제공 항목이 없을 것입니다.

" 개 이상의 문자를 처리해야합니다. , 당신은 당신이 VBScript를를 사용하는 경우 등 사용 적어도 따옴표 (" 또는 '), 줄 바꿈, 다른 제어 문자,

을 처리해야 리터럴 자바 스크립트 문자열에 성공적으로 출력 텍스트에 서버 측 언어, 당신은 당신이 교체 할 필요가 문자를 대체하는 Replace를 사용할 수 있습니다

var goala = "<%=Replace(goal_a, """", "\""")%>"; 

을 다시를하지만, 당신은 당신이 취급하고 그것을 통해 작업해야하는 일의 목록을 작성해야합니다; 예 :

var goala = "<%=Replace(Replace(Replace(goal_a, """", "\"""), Chr(13), "\n"), Chr(10), "\r")%>"; 

... 등등. 서버 측 언어의 JScript 인 경우

, 당신은 거의 같은 방법으로 replace를 사용할 수 있습니다 등등

var goala = "<%=goal_a.replace(/"/g, "\\\").replace(/\r/g, "\\r").replace(/\n/g, "\n")%>"; 

... 그리고 있습니다. g 플래그가 붙은 정규 표현식을 사용하여 모든 발생을 대체 할 수 있습니다 (첫 번째 인수에 문자열을 사용하면 첫 번째 일치를 바꿉니다).

+0

고맙습니다. 아주 간결합니다. 바꾸기를 사용하여 다른 문자를 잘 처리하는 WYSIWYG, 새 줄 등을 가리키는 데 필요합니다. – Finn