2010-03-19 3 views

답변

2

너는 URL Encode 하이퍼 링크 여야합니다. 그래서 모든 문자는 유효한 ASCII 형식으로 바뀌고 (X) HTML 엔터티를 포함하지 않습니다.

HttpUtility.UrlEncode, urlencode, encodeURI 등의 JavaScript 용 ... 사용하는 언어에 맞는 방법을 찾는 것이 그렇게 어렵지는 않습니다.

+4

'htmlspecialchars' (http://php.net/manual/en/function.htmlspecialchars.php)가 실제로는'urlencode'보다 낫습니다. – ceejayoz

+4

... 나는 필요한만큼 * 부르기까지 갈 것이다. 'urlencode()'는 잘못된 접근법입니다. 앰퍼샌드는 URL (GET 매개 변수 구분 기호)에 특별한 의미를 가지고 있으며,'urlencode()'는 이스케이프를 통해 그 의미를 제거합니다. 앰퍼샌드를 URL 컨텍스트로 인코딩하지 않으려합니다. 앰퍼샌드를 HTML 컨텍스트로 인코딩하려고합니다. 'htmlspecialchars()'는 그렇게합니다. – pinkgothic

5

당신은 그들과 같이 링크에서 & 했습니까?

& 
12

I 코드 좋은 표준을 준수하는 코드는이 하이퍼 링크 URL을 일부 내 의한 앰퍼샌드에 실패해야합니다. (다른 곳이나, 그들이 HTML 엔티티의 일부가 있다면!)

의 URL에서

이스케이프 앰퍼샌드 "좋은 표준을 준수하는 코드"아니다.

&으로 바꾸면 정확하게 수행했다고 주장 할 수 있습니다.

+0

문법 나치 당신이 자바 스크립트 문자열에 &이 경이로움을 작동합니다는'및'잘못된 마스크가 계산됩니다 *도 : /로는 –

+2

+1 또한 좋은 알고하지 않습니다하지 대체 자바 스크립트 블럭에서 *,'CDATA' 태그로 감싸지 않는 한. –

+0

답변을 주셔서 감사합니다. URL 인코딩은 새로운 것입니다. 나는 그것을 조사하고 있습니다. 위의 Ronald가 제공 한 W3C URL 인코딩 페이지에 대한 좋은 링크가 있습니다. –