Thanks guys - yes I'm fully aware of the downfall of letting clients run free with the editor, and we've had discussions internally about tables & trying to stop the client from using them but in this particular case there's a real need for an editor which is more fully featured.
I am however looking for a solution, and CKEditor seems like the best. I've looked at the likes of Super Table and the matrix options but they don't provide the ability to edit content inline like we need.
When I asked the original question I was hoping that there was more featured wysiwyg plugin out there, or perhaps extra config options on redactor which I had missed, but unfortunately it seems this isn't the case.
In the meantime I've gone down the route of integrating CKEditor and it looks promising, I'll post back here with some 'learnings' later today once I've finished testing the new plugin & custom field.
EDIT:
For those who are interested, I've integrated CKEditor into the site I'm working on. The process was relatively painless and look just a few hours.
Steps:
- I created a new craft plugin which consists of a Custom Field Type and a Template
- The template is simple, just includes the Textarea for displaying on the page
- I then queue in the CKEditor javascript files, and my own custom JS file which triggers the CKEDITOR.replace function
- I then wanted the Image button on the toolbar to link to the Craft asset dialoog, so I copied the Image dialog code from the RichText plugin and added it to CKEditor as a new plugin, then added a custom button to the editor toolbar
- I noticed that the current/old Body text from Craft referred to asset:url in the output for images rather than image paths, so I created a RegEx to display these correctly; this regex runs in the prepValue() function of the custom field
- I didnt need a prepValuePost() function
- And then on my website pages, {{ entry.body }} was outputting escaped HTML characters, so I adjusted this to {{ entry.body|raw }}
The end result is pretty good, works well and was surprisingly quick to implement.