我正在發佈一個帶有textarea的表單。HTML DOM Validator - PHP或JavaScript
我允許發佈HTML。
現在我想檢查用戶是否已經關閉了他發佈的html中的標籤......當我顯示該HTML時,像div和table等破壞的標籤會損壞整個頁面顯示...任何方式來檢查在PHP或JavaScript中適當的標籤useage?
任何指針或幫助,將不勝感激。
謝謝
我正在發佈一個帶有textarea的表單。HTML DOM Validator - PHP或JavaScript
我允許發佈HTML。
現在我想檢查用戶是否已經關閉了他發佈的html中的標籤......當我顯示該HTML時,像div和table等破壞的標籤會損壞整個頁面顯示...任何方式來檢查在PHP或JavaScript中適當的標籤useage?
任何指針或幫助,將不勝感激。
謝謝
你可能想看看所謂的HTMLPurifier一個PHP的工具 - 有可用的demo page,如果你想快速檢查它能做什麼。
它需要「排序」HTML作爲輸入,並提供格式良好的HTML作爲輸出;這樣,您不會強制用戶輸入格式良好的HTML,但可以「更正」他們輸入的內容。
另一件好事是,您可以指定允許哪些標籤和屬性;這是很好的安全性也:
<p>
和<strong>
標籤,但不<script>
。<a>
+ href
;但不<a>
+ onclick
例如,這裏是一些形成沒有孔HTML,你可以給它:
<p>this is a <strong>test</p>
<script type="text/javascript">alert('glop');</script>
<p>And this is another <em>te<strong>st</em></strong></p>
這裏給出合式/安全HTML輸出:
<p>this is a <strong>test</strong></p>
<p>And this is another <em>te<strong>st</strong></em></p>
發生了什麼變化?
<strong>
標籤已經自動關閉<script>
標籤及其內容已被刪除<em>
和<strong>
標籤在第二段的順序已被校正。這只是一個簡單的例子,當然 - 我希望它有幫助。
我不完全確定你要完成什麼。如果你正在尋找一個富文本編輯器,則可以嘗試,而不是試圖重新發明輪子,更成熟的解決方案之一/
http://www.queness.com/post/212/10-jquery-and-non-jquery-javascript-rich-text-editors
你需要的正則表達式來檢查封閉的標籤。對於不熟悉正則表達式的人來說有點複雜。
使用此搜索作爲一個起點: http://www.google.com.kw/search?q=regex+html+tags
非常感謝... – foxybagga 2009-08-26 11:22:13