2009-10-24 75 views
1

我已經給用戶輸入了輸入表單來輸入存儲在MySQL表中的值。有一列稱爲「項目詳細信息」,其中用戶最多可輸入200個字符,此列的類型爲「varchar」。[PHP/MySQL]:有沒有辦法在MySQL表格中以RTF格式存儲文本?

直到這裏一切都很好。如果項目詳細信息包含許多要在HTML頁面上列出的點,則問題開始:

(1).........
(2)...... ...
(3).........

不確定項目詳細信息是單行,單段,簡單文本還是編號列表。

有什麼辦法可以在MySQL表格中以豐富的文本格式保存項目詳細信息,當PHP顯示我的網站頁面時,文本會在粘貼時列出?

+0

感謝所有的答案。有人只是建議我這些鏈接: http://developer.yahoo.com/yui/editor/ http://www.themaninblue.com/experiment/widgEditor/ – RKh 2009-10-24 13:49:36

回答

3

您可能需要考慮使用簡單的標記語言,如MarkdownTextile。這些允許您採用自然的純文本,然後將其呈現爲HTML。

如果沒有,您可以簡單地在<pre>標籤內逐字顯示文本。

1

如果你真的在使用RTF,你可能需要的是RTF-to-HTML-Converter,一個快速搜索帶來了這個:http://directory.fsf.org/project/rtf2html/(未經測試)。這是你的意思嗎?

存儲在MySQL數據庫中的代碼由您決定,但Varchar可能不是最好的字段類型;您應該考慮將其更改爲文本字段。

4

如果你想存儲的東西像富文本格式,你可能會想要將它放入BLOB字段:http://dev.mysql.com/doc/refman/5.0/en/blob.html具有分配給它

我能問,雖然,你爲什麼會沒有實際的字符集想要那樣做?爲什麼不使用將您的信息轉換爲HTML的許多富文本編輯器(如tinyMCE)之一,您可以將它們保存爲HTML,或者通過Html-> Textile過濾器或類似的方式傳遞它。

0

RTF不是正確的方法,因爲它沒有被webbrowsers正確解釋。
您應該使用一些標記語言,如Markdown,這裏使用的是。

0

我使用base64_encode()進行加密並獲得我使用的base64_decode()。 保留製表符,空格和特殊字符。

$statement->execute(array(':cemail' => $c_email, 
':ctel' => $c_tel, ':msg' => base64_encode($c_msg))); 

$msg = $rd['texe;]; 
$msg = base64_decode($msg) 

完美的作品對我來說

相關問題