2010-03-27 106 views
1

當我有渲染textarea的內容到前端,我通常把它傳遞Thru一種轉換換行符到<br/>標籤和雙換行符函數的信號段落標記使文本塊由<p></p>標籤被包圍。textarea的段落

爲了節省時間,我通常使用wordpress代碼庫中現成的PHP函數。你可以從這個人自己得到鏈接: http://ma.tt/scripts/autop/

如果你看看它,你會看到它用大約20個正則表達式做了一些繁重的工作。我知道我可以使用wysiwyg編輯器(如TinyMCE或CKEditor)來格式化客戶端上的數據,然後將其發送到服務器(其中大多數默認添加<p>..</p>標記),但我想知道體驗的其他人處理原始文本區域輸入,然後將其顯示在前端。

編輯:哇,期待更多的迴應。大多數人使用wysiwyg編輯器和/或直接輸出到瀏覽器和/或使用基本功能,如nl2br。我會再提出這個問題。

+0

我一般只使用'nl2br',有沒有一個理由不適合你?爲了佈局/ css的原因,你需要用'

'包裝的段落嗎? – Rob

+0

在使用佈局設計器之前,我使用了nl2br。當他們進入圖片時,我意識到段落就是他們的真正意思。 – zaf

回答

1

如果你看看它,你會看到它用大約20個正則表達式做了一些繁重的工作。

我認爲你不應該害怕20個正則表達式。他們不是速度的惡魔,但事實上他們並不那麼慢。大多數網站在顯示之前將某種BBCode/Textile/Markdown /其他格式的內容轉換爲HTML格式,並且通常他們會爲單個頁面執行20次這樣的操作。

+0

我知道,如果WordPress正在使用這個功能,那麼我不應該爲此過度沉迷。但該功能適用​​於WordPress,我只想問問別人使用了什麼技術。 – zaf

+0

爲什麼不使用緩存我會使用http://wordpress.org/extend/plugins/wp-super-cache/ :)所以你只能通過它一次。 –

+0

我只使用wordpress代碼庫中的一個函數。但我可以並且確實使用緩存。問題在於別人用什麼函數來格式化文本。 – zaf