我在數據庫中格式化了html標籤(<
變爲<
等等)。直接從數據庫輸出html
我遇到的問題是html標籤字面輸出;而不是<b>Text</b>
使文字加粗,它顯示爲<b>
有人知道這是爲什麼嗎?或者如何修復它? 這可能是一個非常簡單的問題,我忽略了它。
網站上的輸出:在DB
HTML代碼:
我在數據庫中格式化了html標籤(<
變爲<
等等)。直接從數據庫輸出html
我遇到的問題是html標籤字面輸出;而不是<b>Text</b>
使文字加粗,它顯示爲<b>
有人知道這是爲什麼嗎?或者如何修復它? 這可能是一個非常簡單的問題,我忽略了它。
網站上的輸出:在DB
HTML代碼:
echo html_entity_decode("<b>"); // <b>
grrr !,你擊敗了我! :D – raidenace 2012-08-08 02:03:29
謝謝約翰 - 知道這是如此愚蠢和簡單! – RobAtStackOverflow 2012-08-08 12:03:37
我想你們希望<
等全部更換<
同時將HTML存儲在數據庫中。但我發現在你的分貝中,<script ...
標籤看起來像&lt;script ...
。 嘗試用<script ...
之類的東西替換它。 還要確保設置了正確的MIME類型。對於HTML頁面,請使用:
header('Content-type: text/html');
而不是解碼,請確保您沒有對它進行雙重編碼。如果你已經在數據庫中編碼了數據,然後在打印出來時再次對它進行編碼,它應該被渲染爲<等。
我不認爲我是,除非我使用的codeigniter框架「自動」。感謝您的信息,但我會牢記這一點。 – RobAtStackOverflow 2012-08-08 12:04:41
你通常存儲htmls未編碼,並使用'htmlentities'輸出編碼 – 2012-08-08 01:57:26
這就是問題 - 它被編碼,知道這是簡單的。我使用codeigniter框架來防止上述和更多(XSS攻擊和SQLi)。謝謝 – RobAtStackOverflow 2012-08-08 12:01:44