Skip to:
Content
Pages
Categories
Search
Top
Bottom

Reply To: Strip HTML Tabs from forum

@maurodalu

Participant

I found the pieces and bits necessary to make this happen.


// ALTER TinyMCE INIT FOR VISUAL EDITOR ON FORUM TOPICS AND REPLIES
// SOURCE: https://bbpress.org/forums/topic/alter-mceinit-for-visual-editor-on-topics/

// Enable visual editor on tinymce in bbPress
function bbp_enable_visual_editor( $args = array() ) {
    $args['tinymce'] = true;
    return $args;
}
add_filter( 'bbp_after_get_the_content_parse_args', 'bbp_enable_visual_editor' );

// Enable TinyMCE paste plugin
function bbp_add_paste_plugin($args) {
  $args[] = 'paste';
  return $args;
}
add_filter( 'teeny_mce_plugins', 'bbp_add_paste_plugin');

// ADDS A JQUERY PASTE PREPROCESSOR TO REMOVE DISALLOWED TAGS WHILE PASTING
// SOURCE https://jonathannicol.com/blog/2015/02/19/clean-pasted-text-in-wordpress/
function configure_tinymce($in) {
  $in['paste_preprocess'] = "function(plugin, args){
    // Strip all HTML tags except those we have whitelisted
    var whitelist = 'a,p,span,b,strong,i,em,h3,h4,h5,h6,ul,li,ol';
    var stripped = jQuery('<div>' + args.content + '</div>');
    var els = stripped.find('*').not(whitelist);
    for (var i = els.length - 1; i >= 0; i--) {
      var e = els[i];
      jQuery(e).replaceWith(e.innerHTML);
    }
    // Strip all class and id attributes
    stripped.find('*').removeAttr('id').removeAttr('class');
    // Return the clean HTML
    args.content = stripped.html();
  }";
  return $in;
}
add_filter('teeny_mce_before_init','configure_tinymce', 99999999999);
Skip to toolbar