I am trying to allow my users to paste content from word processors (MS Word, Open Office..) and have it process the garbage markup into valid html.
Here is a fiddle for my code: http://fiddle.tinymce.com/xLeaab
I want to preserve:
FYI - I've been looking at these questions on Stackoverflow as part of my current solution, however Im not the best with RegEx so Im having a hard time:
The TinyMCE PowerPaste plugin automatically cleans up content from Microsoft Word, Microsoft Excel, and HTML sources to ensure clean, compliant content that matches the look and feel of the site.
Copy text from Word > paste into Notepad or Text Editor. Copy text from Notepad/Text Editor > paste into WordPress. Or, copy text from Word, then go to post editor in WordPress dashboard. Select where to insert text > click Word icon > OK.
Click the 'Insert/Edit Image' button, then click the 'Upload' tab. Alternatively, drag and drop an image here. All image uploading options are supported, including images_upload_handler (a way to define custom file uploader) and images_upload_credentials .
The TinyMCE getContent and setContent methods You can do this using the getContent() API method. Let's say you have initialized the editor on a textarea with id=”myTextarea”. This will return the content in the editor marked up as HTML.
I think I have it, Check Fiddle
Confirmed:
My changes:
1) commented out your paste_postprocess
(it was sanitizing styles)
//paste_postprocess: function(plugin, args) {
// args.node.innerHTML = cleanHTML(args.node.innerHTML);
//},
2) defined a set of paste_word_valid_elements
in init (the allowed list)
paste_word_valid_elements: "b,strong,i,em,h1,h2,u,p,ol,ul,li,a[href],
span,color,font-size,font-color,font-family,mark",
3) set paste retain style be to "all" (if you want to be selective, create a custom list)
paste_retain_style_properties: "all",
:
Fiddle Screen Shot
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With