2013-04-10 4 views
2

키 입력시 tinymce 편집기에서 현재 텍스트 길이 (HTML 태그가없는 텍스트 길이 만)를 가져와야합니다. 내가하는 일은 (사용자 정의 JS 제외한 PHP는하지 않음) 키 입력시 텍스트 길이 반환

  • 텍스트의 길이를 반환

    1. 잡아 getContent();
    2. 스트립 strip_tags를 사용하여 태그를 사용하여 콘텐츠입니다.

    보기 :

    this is tag-stripped text 
    

    하지만 :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    this is tag-stripped text 
    

    내가 좋아하는, 태그도 DOCTYPE없이 텍스트 만 길이가 필요합니다 내가 얻을 것은의 길이가

    ... 
    setup : function(ed) { 
         ed.onKeyUp.add(function(ed, e) { 
         var text = strip_tags(tinyMCE.get('long_text').getContent(),'<img>'); 
         console.log(text.length); 
         }); 
    } 
    ... 
    

    입니다 , 문제는 DOCTYPE을 제거하지 못한다는 것입니다.를 사용하여 제거하려고합니다.하지만 여전히 작동하지 않습니다. 내 영어가 전혀 좋지 않아 간단히 설명하길 바랍니다. 목표는 tinymce 편집기의 텍스트를 DOCTYPE이라도 태그없이 가져 와서 길이를 얻습니다. 어떻게 내가 그 cerrectly 할 수 있습니까 ??

    감사합니다.

  • 답변

    1

    사용 당신이 시도를 위해 그이 일을 아니에요 당신은 어떤 경우

    ed.onKeyDown.add(function(ed, evt) { 
    
        console.log($(ed.getBody()).text().length); 
    
    } 
    

    을 시도 할 수 편집자는 TextContent에게

    var plain_text = $(tinyMCE.get('long_text').getBody()).text(); 
    
    +0

    그것을 공장. 고마워. :) – egig

    1

    를 얻기 위해 jQuery를 사용하여이 자바 스크립트 코드,

    ---- 
    console.log(getStats('long_text').chars); 
        ----- 
    
    // Returns text statistics for the specified editor by id 
          function getStats(id) { 
           var body = tinymce.get(id).getBody(), text = tinymce.trim(body.innerText || body.textContent); 
    
           return { 
            chars: text.length, 
            words: text.split(/[\w\u2019\'-]+/).length 
           }; 
          }