2013-10-06 10 views
14

Ich möchte nur den Inhalt des Körperelements in TinyMce in meinem Projekt und dann diesen Teil in eine andere Seite injizieren. wenn ich meine Textarea zu meinem Controller den Inhalt von tinymce hat, und HTML-Tag.Entfernen von HTML, Kopf, Body-Tag in TinyMCE

wie man sie los wird? Gibt es in TinyMce eingebaute Funktionen dafür?

Hier ist mein Code:

<script type="text/javascript"> 
     /*tinymce definition*/ 
     tinymce.init({ 
      selector: "textarea.tinymce", 
      theme: "modern", 
      height: 10, 
      plugins: [ 
       "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker example fullpage", 
       "searchreplace visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 
       "save table contextmenu directionality emoticons template paste textcolor wordcount" 
      ], 
      content_css: "css/content.css", 
      toolbar: "insertfile undo redo | styleselect | save | table | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons charmap code | hr paste pagebreak searchreplace spellchecker template visualblocks insertdatetime", 
      style_formats: [ 
       {title: 'Bold text', inline: 'b'}, 
       {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, 
       {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, 
       {title: 'Example 1', inline: 'span', classes: 'example1'}, 
       {title: 'Example 2', inline: 'span', classes: 'example2'}, 
       {title: 'Table styles'}, 
       {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} 
      ] 
     }); 
    </script> 

und in meinem HTML-Seite:

<div class="page-content"> 
     <form action="somewhere" method="post" role="form"> 
      Title:<br/> <input type="text" name="title" style="width:100%"/><br/> <br /> Your Text:<br/> 
      <textarea name="content" class="tinymce" cols="30" rows="10" ></textarea> 
      <br /> <br /> <input type="submit" name="submit" /> 
     </form> 
    </div> 
+0

hilft löste ich das Problem durch das blattgr Plugin Entfernen :) – Mehdi

Antwort

33
plugins: [ 
     "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak spellchecker", 
     "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 
     "save table contextmenu directionality emoticons template textcolor paste fullpage textcolor colorpicker" 
    ], 

das blattgr Plugin von Skript entfernen ist

+1

Mein Kunde darüber beschwert und ich habe nicht die blattgr Plugin hier sehen. Das ist alles was ich benutze: plugins: "table, inlinepopups". Irgendwelche Trinkgeld? –

+0

@PauloPedroso Wenn Sie die Plugins sehen: [...] Abschnitt, indem Sie die ganze Seite entfernen, werden Sie in der Lage, das zu bekommen. – Mehdi

+0

Vielen Dank, Mehdi, wenn ich mich recht erinnere, gibt es eine Art von Steuerelementen, wo du sagst, dass du Newline hinzufügen willst, und indem ich das auf falsch setze, konnte ich das schaffen. Leider ist das Projekt bereits bei einer anderen Firma und ich habe keinen Zugriff auf den Code, um zu sehen, wie ich es geschafft habe. aber ich erinnere mich, dass es in seiner Sektion kein Vollseiten-Plugin gab. –

0

Hier werden die Lösungen für Körpergehalt bekommen und Zeichenanzahl

JS FIDDLE DEMO

tinymce.init({ 
    selector: "textarea", 
    toolbar: "mybutton", 
    setup: function(editor) { 
     editor.addButton('mybutton', { 
      icon: 'image', 
      onclick: function(e) { 
       console.log(e.target); 
       console.log(editor.getContent()); 
       var utf8length = 0; 
       var string = editor.getContent(); 
       for (var n = 0; n < string.length; n++) { 
     var c = string.charCodeAt(n); 
     if (c < 128) { 
      utf8length++; 
     } 
     else if((c > 127) && (c < 2048)) { 
      utf8length = utf8length+2; 
     } 
     else { 
      utf8length = utf8length+3; 
     } 
    } 
    console.log(utf8length); 
    var str = editor.getContent(); 
     var m = encodeURIComponent(str).match(/%[89ABab]/g); 
    console.log(editor.getContent()); 
    console.log(str.length + (m ? m.length : 0)); 


        } 
     }); 
    }}); 
0

Dies könnte einfacher sein:

b = "<body>"; 
be = "</body>"; 
t = tinyMCE.activeEditor.getContent(); 
t = t.substr((t.indexOf(b) + b.length), (t.indexOf(be)-1)) 

Der "t" Wert dann im "Textfeld" Wert (nicht setContent()) des tinymce Editor platziert, aktiv werden kann, bevor das Senden .

Hoffnung, dass ..

Verwandte Themen