2011-09-15 118 views
2

處理包含HTML標籤的文本輸入的最佳/推薦實踐是什麼?這個想法是正確顯示輸入,例如在不同的頁面上。樣式化開放式文本輸入

正如所料,人們可以用他們的HTML非常有創意。例如:

<p>...</p> 
<ul><li>...</li></ul> 

又如:

<h1>...</h1> 

一個更具挑戰的情況下將是一個輸入而不結構正確的HTML例如<h1>Hello</p></h1>。如果沒有適當的照顧,這可能會打破整個頁面佈局。

我能想到的一件事是完全剝離標籤。但是,可能有更好的方法。至少,我希望能夠在段落之間放置適當的間距/邊距;而不是將它們合併在一起。

+0

'什麼是最好的/推薦的做法?'不要自己做。正是你詳細說明的原因。 –

+0

@Jeff:有沒有一個SiteExchange網站,我可以(重新)發佈這個問題?我仍然想知道別人在這種情況下做什麼。謝謝! – moey

+0

@Jeff Atwood:你能解釋一下爲什麼你認爲這個問題「不具有建設性」?我很長一段時間Stack Overflow的用戶/貢獻者,我已經重新閱讀了這個FAQ,但我沒有看到這個問題出現了什麼問題。 –

回答

0

正如rlb.usa在評論中指出的那樣,大多數人依靠成熟的,經過充分測試的HTML渲染器來顯示HTML。取決於平臺,WebKit,Qt和微軟的Trident控件是流行的選擇。

如果您的渲染器存在非標準代碼問題,那麼可以先運行它,如tidy

+0

對不起,也許我沒有真正清楚上面的描述。一些網站,例如StackOverflow允許我們輸入一個開放式的輸入,像這樣的評論;我們可以基本上添加我們喜歡的任何信息

標題

但只有某些標籤是'''很好的樣式,例如'代碼'。這只是一個CSS的問題,即風格的一些標籤,並刪除其他人? – moey

+0

是的,看來我誤解了問題你需要做的是「消毒」輸入,以便它可以安全嵌入到你的HTML的其餘部分,除此之外,除了使修飾的類型(修復不匹配和不匹配的標籤)之外,一個消毒器會過濾掉可能不安全的東西,比如JavaScript,iframe等等。 –

+0

感謝您的跟蹤,我認爲您的意思是不安全的JavaScript,而不是JavaScript等不安全的東西。(: – moey