2012-03-19 56 views
2

上週,星期四,確切的說,我們有一個textarea字段,我們使用tinyMCE自動生成php/mysql web表單允許客戶輸入和格式化他們的文本。突然在星期四,文本將不會出現在窗體中,以及在顯示模式下圍繞textarea數據的邊框,但是當我們轉到編輯屏幕的tinyMCE字段時,我們可以看到文本。我今天來了,看着分貝,看到所有這些奇怪的代碼在數據庫中[見下]這個奇怪的代碼來自我的php/mysql應用程序,我該如何擺脫它

我用直的,乾淨的文本覆蓋代碼,加載它工作的頁面,但最終它會回覆到這個奇怪的代碼 - 並在某些時候刷新瀏覽器,不再看到任何來自php表單的文本。當我再次查看數據庫時,所有這些代碼[見下文]回到現場。

我一直在衝浪/研究和各種建議包括更新tinyMCE,我做了,但同樣的事情發生。

有沒有人有任何想法我應該做什麼,攻擊代碼的哪部分是db或tinyMCE?所有的幫助非常感謝。 [注:應用程序已經爲約2年運行成功。]

> <p><!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG /> 
> </o:OfficeDocumentSettings> </xml><![endif]--><!--[if gte mso 9]><xml> 
> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> 
> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> 
> <w:ValidateAgainstSchemas /> 
> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> 
> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> 
> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> 
> <w:DoNotPromoteQF /> 

回答

0

最後!最終發現了什麼是錯誤的 - 存儲在會話對象中的數據量存在大小限制。根據RFC 2109,這個大小限制是4KB。就是這樣。我知道我在某個地方遇到了一些限制,最後發現它在哪裏。不得不重新編寫一些代碼,這樣我纔可以只讀取這些文本部分,而不依賴會話中存儲的數據。

3

這是當人們複製和粘貼文字直接到TinyMCE中會發生什麼,沒有什麼比這更險惡。

+0

問題是,你不能向那些這樣做的人解釋,爲什麼這會是一個問題... – devsnd 2012-03-19 16:25:54

+0

但是,當我回到Web表單並添加純文本,沒有格式化時,該字段數據重置以包含所有這些代碼。例如,如果我輸入「This is a test」,點擊保存,查看錶格,「This is test」會出現。當我刷新瀏覽器,清除緩存時,上面所有那些時髦的代碼再次出現在底部附近,並嵌入其中,我會看到「這是一個測試」,但是現在沒有任何內容出現在顯示頁面上。我直接進入了數據庫,添加了直接測試,刷新了數據庫,查看了表單,查看了直接測試,然後刷新了代碼的瘟疫。 – user1176783 2012-03-19 16:33:37

+0

TinyMCE,即使它看起來完全是空的,有時會保留舊的標記。如果你做的加載頁面/手動刪除圖形用戶界面中的文本/鍵入新的/保存 - 然後是的,你會保持所有這些奇怪的標記。如果你做/加載頁面/編輯源文件並刪除所有內容/添加新的文本/保存,那麼你將有乾淨的標記,我幾乎可以肯定。 – dmp 2012-03-20 08:44:19

0

你應該檢查tinymce和你的數據庫之間的接口,以確定數據是直接來自tinymce那種方式,還是數據在去往數據庫的路上被修改。

順便說一句,這個奇怪的代碼看起來像從Word生成的HTML。

+0

謝謝Thariama和你對,這是MS生成的瘋狂。我嘗試了其他方法,請參閱上面的註釋。 – user1176783 2012-03-20 13:20:14

+0

就在您提交表單之前(是否使用ajax?)使用螢火蟲或其他網頁開發者工具調用以下內容:alert(tinymce.get('my_editor_id')。getContent({format:'raw'}));.請告訴我你得到了什麼。 – Thariama 2012-03-20 13:30:26

+0

哼哼,不是ajax,但我想我仍然可以做到這一點。讓我嘗試。回來一點。 – user1176783 2012-03-20 13:39:43

相關問題