2010-02-26 2 views
4

자바 스크립트의 인용 부호 등을 이스케이프 처리하는 것을 이해합니다. "또는"보다는 전체를 감싸는 데 사용할 수있는 다른 문자가 있습니까? 두 문자가 모두 내 텍스트에 나타나기 때문에 각 인스턴스 앞에 /를 붙이지 않아도됩니다.따옴표를 이스케이프 - 사용할 수있는 다른 문자가 있습니까?

그래서, 대신에이 같은

("Some text where he said "I like this, she say's") 

뭔가 느낌의 비트를 만드는

(%Some text where he said "I like this, she say's% 

희망 (필자는 백분율 기호를 기대하고 있지 않다하더라도 사용되는) 감사합니다

+1

운좋게도 "she say 's"의 아포스트로피는 생략해야하는 문법적 오류이므로 사용자의 문자열에 대해 작은 따옴표를 사용할 수 있습니다. – bobince

+0

글쎄, 전체 마음에 공백, 나는 아포스트로피가 필요한 단어를 생각할 수 없었다! 그래서 나는 그것을 포옹했다! –

답변

0
!.

No. "' 만 유효한 문자열 구분 기호입니다. 당신은

"...\"...'..."; 
'..."...\'...'; 

중 하나 그들을 탈출해야 (속임수, 당신은 숨겨진 <div>에 문자열을 넣어 JS에서는 TextContent를 읽을 수 있습니다.)

(또 다른 속임수, /Some text where he said "I like this, she say's/.source. 현재)
+0

Oooh, 나는 그 두 번째 속임수를 좋아한다. 감사! –

+0

그러나 첫 번째 속임수를 사용하려면 먼저 문자열을 HTML 이스케이프 처리해야합니다. – Pointy

+0

두 번째 것은 바보 같은 짓을하지 않으면 작동하지 않는 것 같습니까?! –

1

리터럴 문자열은 " 또는 '으로 선언해야합니다. 그리고 이러한 선언 내에서 문자열 값을 묶는 따옴표를 이스케이프 처리해야합니다. 그래서 :

Some text where he said "I like this, she say's 
+1

문자열 상수를 묶는 데 사용 된 따옴표에 관계없이 항상 따옴표를 이스케이프해도 괜찮습니다. 따라서 서버 측 "escapeJS"함수 작성이 좀 더 쉬워집니다. – Pointy

0

당신이 당신의 서버 측 템플릿 언어에서 오는 내용으로 작업하는 경우, 당신은 또한 멀티 바이트 인코딩에 대해 걱정할 필요가 있습니다

"Some text where he said \"I like this, she say's" 
'Some text where he said "I like this, she say\'s' 

모두로 해석됩니다 시퀀스 및 "제어"문자.

관련 문제