It possible to extend the Telerik RTE control in Sitecore to automatically strip certain formatting, such as MS Word, or to even strip all formatting.
To extend Sitecore’s configuration of the Telerik controls, create the following class:
using Sitecore.Data.Items;
using Telerik.Web.UI;
namespace MyProject.CMS.Custom.Controls
{
public class RteConfiguration : Sitecore.Shell.Controls.RichTextEditor.EditorConfiguration
{
public RteConfiguration(Item profile) : base(profile)
{
}
protected override void SetupFilters()
{
base.SetupFilters();
Editor.DisableFilter(EditorFilters.ConvertToXhtml);
Editor.EnableFilter(EditorFilters.IndentHTMLContent);
Editor.StripFormattingOptions = EditorStripFormattingOptions.MSWordRemoveAll
| EditorStripFormattingOptions.ConvertWordLists
| EditorStripFormattingOptions.Css
| EditorStripFormattingOptions.Font
| EditorStripFormattingOptions.Span;
}
}
}
And then patch the following to override the default configuration:
<settings>
<setting name="HtmlEditor.DefaultConfigurationType">
<patch:attribute name="value">MyProject.CMS.Custom.Controls.RteConfiguration, MyProject.CMS.Custom</patch:attribute>
</setting>
</settings>
NOTE: If your HTML Editor Profile specifies Configuration Type directly then you will need to either remove it so that it uses default specified in config or update the Type setting in the item itself.
You can read more about details in this blog post which I previously wrote: Updating Sitecore Telerik RTE to disable XHTML and strip MS-Word Formatting on Paste
The down side is that your Content Editor must use the Rich Text Editor in order for these configurations to take effect, pasting directly in the Experience Editor may still lead to the previous behaviour. You may wish to investigate using the Sitecore Sweep Module instead which will allow you target all or specific fields via a pipeline on save.