example ejemplos javascript html text tinymce wysiwyg

javascript - ejemplos - Pasta TinyMCE como texto sin formato



wysiwyg editor free (5)

Este es uno de los problemas comunes con las RTE en la web. ¿Podría por favor guiarme a través de cómo:

  1. Pegar como el TEXTO LLANO
  2. Conserva el HTML pero elimina el estilo WORD / HTML

Quiero hacerlo directamente en paste (paste_preprocess callback), sin abrir los diálogos provistos por Pegar complementos.

¿Alguna idea / experiencia?

Gracias,

Imran




Estaba buscando todo esto ... Para TinyMCE, puede usar la pasta integrada como comportamiento de texto. Simplemente configure el init de tinymce con los valores a continuación.

Fuente: jerome.chevreau, http://www.tinymce.com/forum/viewtopic.php?id=6788

//add paste plugin plugins : ''paste'', //Keeps Paste Text feature active until user deselects the Paste as Text button paste_text_sticky : true, //select pasteAsPlainText on startup setup : function(ed) { ed.onInit.add(function(ed) { ed.pasteAsPlainText = true; }); }


Esto es lo que hago para obtener pegar texto sin formato.

1. ajuste paste_preprocess (en tinymce init)

paste_preprocess : function(pl, o) { //example: keep bold,italic,underline and paragraphs //o.content = strip_tags( o.content,''<b><u><i><p>'' ); // remove all tags => plain text o.content = strip_tags( o.content,'''' ); },

2. function strip_tags (en el documento principal)

// Strips HTML and PHP tags from a string // returns 1: ''Kevin <b>van</b> <i>Zonneveld</i>'' // example 2: strip_tags(''<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>'', ''<p>''); // returns 2: ''<p>Kevin van Zonneveld</p>'' // example 3: strip_tags("<a href=''http://kevin.vanzonneveld.net''>Kevin van Zonneveld</a>", "<a>"); // returns 3: ''<a href=''http://kevin.vanzonneveld.net''>Kevin van Zonneveld</a>'' // example 4: strip_tags(''1 < 5 5 > 1''); // returns 4: ''1 < 5 5 > 1'' function strip_tags (str, allowed_tags) { var key = '''', allowed = false; var matches = []; var allowed_array = []; var allowed_tag = ''''; var i = 0; var k = ''''; var html = ''''; var replacer = function (search, replace, str) { return str.split(search).join(replace); }; // Build allowes tags associative array if (allowed_tags) { allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi); } str += ''''; // Match tags matches = str.match(/(<//?[/S][^>]*>)/gi); // Go through all HTML tags for (key in matches) { if (isNaN(key)) { // IE7 Hack continue; } // Save HTML tag html = matches[key].toString(); // Is tag not in allowed list? Remove from str! allowed = false; // Go through all allowed tags for (k in allowed_array) { // Init allowed_tag = allowed_array[k]; i = -1; if (i != 0) { i = html.toLowerCase().indexOf(''<''+allowed_tag+''>'');} if (i != 0) { i = html.toLowerCase().indexOf(''<''+allowed_tag+'' '');} if (i != 0) { i = html.toLowerCase().indexOf(''</''+allowed_tag) ;} // Determine if (i == 0) { allowed = true; break; } } if (!allowed) { str = replacer(html, "", str); // Custom replace. No regexing } } return str; }


Usé esto:

oninit: function (ed) { ed.pasteAsPlainText = true; }

junto con

paste_text_sticky: true