簡體   English   中英

如何通過保留定義的樣式將Word中的文本粘貼到純文本中?

[英]How to paste Text from Word to plain text by preserve defined styles?

我想讓用戶將文本粘貼到編輯器(當前為CKEditor)中。 通過粘貼文本,必須刪除所有未列入白名單的樣式和元素,包括圖像,表格等。因此,應將90%的樣式和元素轉換為純文本或刪除,同時保留一些簡單的樣式,如粗體,斜體或帶下划線的樣式。

沒想到那是如此復雜。 但是我可以在文檔中找到所有內容,並且CKEditor的示例是關於粘貼完整的純文本或從Word中粘貼清理后的內容而沒有配置白名單的功能(即使我刪除了所有與表相關的插件,仍然可以從MS WorD粘貼表格)。

我真的非常感謝任何提示。

謝謝。

您不能不編寫自己的解析器。 另一個問題是MS Word使用Windows-1252字符編碼,而大多數網絡使用UTF-8編碼,因此,如果從WORD粘貼並通過AJAX傳輸此數據,則會出現亂碼。

雖然Dreamweaver具有很好的“從單詞粘貼”功能,但您不太可能在網上找到它。 這是一個巨大而復雜的問題,它本身就是一個應用程序。 甚至WORD的“另存為HTML”也無法做得體面。

可悲的是,最需要做的是將所有內容剝離為ASCII(粘貼到記事本中),將其放入編輯器中並進行標記。

您可以在編輯器實例中為“粘貼”事件添加偵聽器: http : //docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#event :paste

這樣,您就可以粘貼將要粘貼的HTML,並且可以執行所需的任何清理工作(例如,基於將HTML插入div然后使用DOM或在字符串上使用正則表達式)。

找到一個解決方案:

  1. 聆聽AlfonsoML所寫的粘貼事件。
  2. 將Word的粘貼內容發送到服務器。
  3. 使用HTML Agility Pack對其進行解析。
  4. 將其發送回客戶端。
  5. 將其插入編輯器中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM