39 votes

TinyMCE Coller en texte brut

C'est l'un des problèmes les plus courants avec les RTE sur le web. Pourriez-vous m'indiquer comment faire ?

  1. Coller comme le TEXTE ORDINAIRE
  2. Conservez le HTML mais supprimez le style WORD/HTML.

Je veux le faire directement sur le paste (callback paste_preprocess), sans ouvrir les boîtes de dialogue fournies par les plugins Paste.

Des idées ou des expériences ?

Merci,

Imran

0 votes

Je pense que cela devrait nettoyer un peu le texte, mais j'apprécierais d'autres suggestions/solutions : 1stclassmedia.co.uk/developers/clean-ms-word-formatting.php

0voto

Gufran Hasan Points 3426

J'ai utilisé @Thariama solutions mais j'ai un problème.

Dans la fonction paste_preprocess :

paste_preprocess : function(pl, o) {
  o.content = StripTags( o.content,'' );
  console.log(o.content);
},

Tinymce renvoie la chaîne de caractères comme :

Corde originale :

"<h1>History.js Test Suite</h1>
        <p>HTML5 Browsers must pass the HTML4+HTML5 tests, HTML4 Browsers must pass the HTML4 tests and should fail the HTML5 tests.</p>"

Chaîne retournée :

&lt;h1&gt;History.js Test Suite&lt;/h1&gt;<br /> <br />&lt;p&gt;HTML5 Browsers must pass the HTML4+HTML5 tests, HTML4 Browsers must pass the HTML4 tests and should fail the HTML5 tests.&lt;/p&gt;

Le meilleur que j'ai trouvé qui convienne aux deux cordes.

var $str1 = '&lt;h1&gt;History.js Test Suite&lt;/h1&gt;<br /> <br />&lt;p&gt;HTML5 Browsers must pass the HTML4+HTML5 tests, HTML4 Browsers must pass the HTML4 tests and should fail the HTML5 tests.&lt;/p&gt;';

function StripTags(string) {

  var decoded_string = $("<div/>").html(string).text();
  return $("<div/>").html(decoded_string).text();

}

console.log(StripTags($str1));

Sortie :

History.js Test Suite HTML5 Browsers must pass the HTML4+HTML5 tests, HTML4 Browsers must pass the HTML4 tests and should fail the HTML5 tests.

Lien de référence

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X