2012-09-07 4 views
1

예, 마크 업이 포함 된 데이터베이스의 데이터를 표시하는 데 어려움을 겪고 있습니다! 내가 표시하고있는 한 특정 필드에는 공개 대담 태그가 있지만 대담한 태그는 없습니다. 이 마크 업을 '포함'하여 나머지 페이지에는 영향을주지 않으려 고합니다.마크 업 내부 데이터 포함

this is soem nasty <b>data 

내가 사업부의 마크 업을 묶어야하는 경우, 나머지 (닫는 </B> 태그의 부족주의) : 내 데이터베이스에서 오는

데이터는이 텍스트 같다 페이지의 것은 대담 : 그러나

<div>this is some nasty <b>data</div> 

내가 같은 테이블에 포장하는 경우 :

<table><tr><td>this is some nasty <b>data</td></tr></table> 

모두 좋다! 사실, FF (FireBug)와 IE9 모두에 대한 DOM 검사자가 트리를 표시합니다. div-case에는 open-b 태그와 그 안에 포함 된 나머지 문서가 표시됩니다. 그러나 테이블은 그것을 감싸고있는 것처럼 보입니다.

테이블없이 'b'를 닫으려면 어떻게해야합니까?

+3

마크 업이 어느 쪽의 방법 으로든 악의적이지 않은 것으로 판단하고 이것이 여러 태그에서 진행중인 문제라고 가정하면 마크 업을 재구성하려는 파서를 통해 데이터를 실행할 것입니다. –

+0

마크 업을 텍스트 형식으로 표시 하시거나 페이지 내에 마크 업을 삽입하고 있습니까? – BlackCursor

+0

데이터 팀이 카탈로그 제품 설명을 채우는 것은 초기 단계입니다. 그들은 설명 자체에 HTML 마크 업을 사용했으며 적절한 형식에 대해서는별로 좋지 않습니다. 그들이 이런 일을 전혀 할 수 없도록 악화되었지만, 마크 업은 가짜입니다. 위험하지는 않지만 때로는 잘못 형성되었습니다. 우리는 합법적으로해야 할 일을 수용하기 위해 마크 다운 (mark-down)과 다른 계획을 검토하고 있지만, 모든 '오래된'설명을 만지는 것은 엄청난 거래 일 것입니다. – n8wrl

답변

1

정상적인 인간처럼 폐쇄 </b> 태그를 올바르게 사용합니다.

DOMDocumenttidy을 사용하면 제어 할 수없는 경우를 대비하여 조작 된 마크 업을 수정할 수 있지만 데이터베이스에 적용하기 전에 수정할 수 있다면 최선의 방법입니다.

0

나는 이것을 달성 할 수있는 곳인 HTML Purifier을 읽었습니다. 노력할 가치가 있습니다.

0

TinyMCE와 같은 HTML 리치 텍스트 편집기에서 단서를 얻어 IFrame을 작성했습니다. 그것은 임의의, 가능하게는 잘못된 형태의 내용을 포함하고있는 것으로 보입니다.