2013-05-13 1 views
0

데이터베이스에서 검색된 데이터는 & 또는 '입니다. gsub 메서드를 사용하지 않고 또는 '으로 어떻게 탈출하고 표시합니까?데이터베이스에 & '을 탈출 할 수 있습니까?

+0

문제는 문자 엔터티 참조가 데이터베이스에 먼저 저장된다는 것입니다. 질문은 HTML과 XML 모두 태그가 붙습니다. – JJJ

+0

'은 HTML 엔터티가 아닙니다. XML 엔터티입니다. 맞습니까? – EMR

+0

[모두입니다.] (http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML). 어쨌든 – JJJ

답변

1

그런 식으로 데이터가 삽입되는 것을 막을 수 없다면 코드에서 here을 사용하여 쿼리에 사용할 수있는 함수를 만들면 디코딩 된 데이터를 반환 할 수 있습니다.

또는 Ruby에서 대체 전략을 사용하지 않고 how-do-i-encode-decode-html-entities-in-ruby을 살펴보십시오.

+0

db 내에서 교체해야합니다. 그러나 Ruby에는 다른 방법이 있습니다. Ruby에서 이전 질문에 대한 링크로 답변을 업데이트했습니다. – EMR

+0

을 대체하는 것 이외의 다른 것을 해결하려면 – davmos

0

이것은 뷰 레벨, 즉 프런트 엔드에서 HTML entity부터 수행 할 수 있고 수행해야 할 수 있습니다.

jquery를 사용한다고 가정하면 '이 HTML에 '으로 표시됩니다.

$('<div/>').html('&#39;').text()

당신은 모든

1

먼저 위의 링크에서 각각의 개체 값을 찾을 수 있습니다, 이스케이프 시퀀스 만이 아니라 당신이 위장의 이야기를 HTML이나 XML에서 문자열 분석에서 발견된다. 예를 들어 연결의 이유로 문자열을 이스케이프 처리 할 수 ​​있습니다. Html-Entities는 특수 문자를 가장하기 위해 항아리로 대체되는 특정 엔티티입니다. html 엔티티가 여전히 포함 된 문자열을 db 테이블에 저장하는 것은 절대 잘못되었습니다. 마스크 된 문자열은 먼저 게시판에서 "리제 (reget)"한 후 먼저 마스크 처리해야합니다. 그렇지 않으면 특별한 테이블에 html 엔티티를 저장하려고 시도합니다. 프로그래밍상의 이유로. 텍스트 파일을 더 잘 만들어야합니다. dBase 2를 사용해보십시오. 단순히 엔티티 목록이있는 페이지의 웹을 검색 할 수도 있습니다.

두 번째 요점은 XML이 - 개인적으로 정의 된 마크 업 언어로 생각되는 (일반적으로) 자신의 코드를 더 잘 읽을 수 있다는 것입니다. 이것이 사양에 포함 된 비표준 태그가 사용자가 직접 정의해야하는 이유입니다. (이 엔티티 페이지에서 설명 된 "& apos (;)"의 경우와 같이 일반 엔터티를 "XML 엔터티"로 읽는 것은 이상했습니다. Std-XML 태그 (엔터티가 아님)는 주로 나중에 프로그래밍 언어에 더 잘 어울리는 HTML 코드를 완성하는 측면에서 중요하지만, 제 의견으로는 여전히 HTML 엔티티입니다!

관련 문제