2012-09-07 69 views
1

是的,我很努力地顯示數據庫中包含標記的數據!我顯示的一個特定字段具有粗體標記,但沒有粗體標記。我試圖'包含'這個標記,所以它不會影響頁面的其他部分。包含標記INSIDE數據

從我的數據庫裏的數據是這樣的文字:

this is soem nasty <b>data 

(注意缺少收盤</B>標記的)

如果我包圍在一個div標記,其餘頁面的大膽:

<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情況下,它顯示了open-b標籤和其中包含的其他文檔。但桌子似乎包含它。

我怎樣才能得到這個'關閉乙'沒有表?

+3

假設您確定標記不是某種方式的惡意,並且這是多個標記的持續問題,我可能會通過解析器運行數據,該解析器試圖重構標記。 –

+0

您是以文本格式顯示標記還是將標記插入頁面? – BlackCursor

+0

這是我們的數據團隊填寫目錄產品說明的早期日子。他們在描述中使用了HTML標記,並且對於正確的格式不太好。他們已經被允許這麼做了,但這個標記是假的。不是危險的,但有時會形成錯誤。我們正在考慮降價和其他計劃,以適應他們合法需要做的事情,但是觸及所有'舊'的描述將是一筆巨大的交易。 – n8wrl

回答

1

您正確使用關閉</b>標籤,就像任何理智的人一樣。

您可以使用DOMDocumenttidy在您無法控制的情況下嘗試修復格式錯誤的標記,但最好在它到達數據庫之前修復它。

0

我從TinyMCE等HTML富文本編輯器中獲得了一個提示,並構建了一個IFrame。它似乎更好地包含任意的,可能形成錯誤的內容。