2011-02-17 8 views
0

다음 데이터가있는 경우 데이터베이스 저장면에서 가장 좋은 옵션은 무엇입니까?데이터 삭제 및 DB 저장

Here is text<br><br>Here is some more text 

나는 3 가지 옵션을 가지고 참조 :

  • 스토어 그 다음 실행시에 디코딩 될 때 DB에 : DB에 저장 한 다음 <p>hello</p>
  • 디코딩과 : <p>hello</p>
  • 스트립 태그를 완전히 :

어떤 "o"에 큰 "아니오"가 있습니까? 위의 f, 모범 사례에 대한 조언을 찾고 있습니다. 또한 내가받는 데이터를 전혀 통제 할 수 없다는 점에 유의할 가치가 있습니다.

답변

1

요구 사항에 따라 태그를 제거하거나 인코딩되지 않은 버전을 저장하는 것이 좋습니다.

태그가 필요하지 않으면 태그를 제거하고 일반 텍스트를 저장할 수 있습니다.

태그와 서식을 유지해야하는 경우 인코딩되지 않은 버전을 저장하는 것이 더 쉽습니다. 실제 태그를 다루는 것이 훨씬 간단합니다. 또한 출력을 인코딩하는 것은 책임입니다. 사실, 이것은 문자열을 인쇄 할 위치에 따라 달라집니다.

예를 들어 콘솔에서 태그를 사용해도 문제가 발생하지 않습니다. 문자열을 HTML보기로 인쇄해야하는 경우입니다. 그러나 다행스럽게도 Rails는 출력 삭제 처리를 처리하므로 삭제 된 버전을 데이터베이스에 저장할 필요가 없습니다.

+0

문자를 제거하는 '쉬운'레일 방식이 있습니까? 아니면 간단히 gsub()를 사용하여 대체 할 수 있습니까? – Zinc

+0

레일즈는'strip_tags' 헬퍼를 제공합니다. http://goo.gl/8COH0 –

0

데이터를 표준 형식으로 변환하고 저장하십시오. 즉, <p>Hello</p> 또는 을 저장해야합니다 (예를 들어 의 경우을 디코딩하는 것으로 의심 스럽지만).

그렇다면, 당신은이 (예를 들어 &Ouml;, &#214; 또는 &#xD6;?) 인코딩 된 방법에 대해 걱정할 필요없이 검색 할 수 있습니다, 그냥 렌더링에 표시하기에 적합한 어떤 형식으로 인코딩합니다.