I reported recently a ticket which I think you'll find interesting: http://dev.ckeditor.com/ticket/11621. There's a pretty high chance that this feature will be introduced in CKEditor 4.5. (Edit: This feature got to CKEditor in 4.5 – CKEDITOR.config.pasteFilter
).
As for your question - to apply ACF to an HTML string you need to:
- Parse it using
CKEDITOR.htmlParser.fragment.fromHtml()
. - Call
filter.applyTo
on document fragment created in previous step. You can either use the standardeditor.filter
or create your own instance with different settings. - Serialise document fragment back to HTML string.
For example:
// Create standalone filter passing 'p' and 'b' elements.
var filter = new CKEDITOR.filter( 'p b' ),
// Parse HTML string to pseudo DOM structure.
fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<p><b>foo</b> <i>bar</i></p>' ),
writer = new CKEDITOR.htmlParser.basicWriter();
filter.applyTo( fragment );
fragment.writeHtml( writer );
writer.getHtml(); // -> '<p><b>foo</b> bar</p>'