2013-10-06 179 views
14

我想在我的項目中只獲取TinyMce中body元素的內容,然後將該部分注入到另一個頁面中。 當我提交我的textarea到我的控制器tinymce確實有內容,和html標記。刪除TinyMCE中的html,head,body標籤

如何擺脫它們? TinyMce內部是否有內置的功能?

這裏是我的代碼:

<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> 

,並在我的html頁面:

<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

我通過移除全頁插件解決了這個問題:) – Mehdi

回答

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" 
    ], 

從腳本

+1

我的客戶抱怨它,我沒有在這裏看到的全頁插件。這就是我使用的所有內容:插件:「表格,內聯poppop」。任何提示? –

+0

@PauloPedroso如果你看到插件:[...]部分,通過刪除整個頁面,你將能夠得到它。 – Mehdi

+0

謝謝Mehdi,如果我記得,有一些控件,你說你想添加新行,並將其設置爲false,我可以完成這些工作。不幸的是,該項目已與另一家公司在一起,我無法訪問代碼來了解我如何管理它。但我確實記得它的部分沒有fullpage插件。 –

0

這裏卸下全頁插件是獲取正文內容的解決方案和字符數

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

這可能是簡單的:

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

的 「T」 值可以再積極地放在TinyMCE的編輯器的 「文本域」 值(未setContent()),發送前。

希望幫助..