2013-11-15 01:52:09 -05:00
|
|
|
/* global wordCountL10n */
|
|
|
|
var wpWordCount;
|
2012-08-22 20:04:18 -04:00
|
|
|
(function($,undefined) {
|
|
|
|
wpWordCount = {
|
|
|
|
|
|
|
|
settings : {
|
|
|
|
strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags
|
|
|
|
clean : /[0-9.(),;:!?%#$¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc.
|
|
|
|
w : /\S\s+/g, // word-counting regexp
|
|
|
|
c : /\S/g // char-counting regexp for asian languages
|
|
|
|
},
|
|
|
|
|
|
|
|
block : 0,
|
|
|
|
|
|
|
|
wc : function(tx, type) {
|
|
|
|
var t = this, w = $('.word-count'), tc = 0;
|
|
|
|
|
|
|
|
if ( type === undefined )
|
|
|
|
type = wordCountL10n.type;
|
|
|
|
if ( type !== 'w' && type !== 'c' )
|
|
|
|
type = 'w';
|
|
|
|
|
|
|
|
if ( t.block )
|
|
|
|
return;
|
|
|
|
|
|
|
|
t.block = 1;
|
|
|
|
|
|
|
|
setTimeout( function() {
|
|
|
|
if ( tx ) {
|
|
|
|
tx = tx.replace( t.settings.strip, ' ' ).replace( / | /gi, ' ' );
|
|
|
|
tx = tx.replace( t.settings.clean, '' );
|
|
|
|
tx.replace( t.settings[type], function(){tc++;} );
|
|
|
|
}
|
|
|
|
w.html(tc.toString());
|
|
|
|
|
|
|
|
setTimeout( function() { t.block = 0; }, 2000 );
|
|
|
|
}, 1 );
|
|
|
|
}
|
2013-11-15 01:52:09 -05:00
|
|
|
};
|
2012-08-22 20:04:18 -04:00
|
|
|
|
|
|
|
$(document).bind( 'wpcountwords', function(e, txt) {
|
|
|
|
wpWordCount.wc(txt);
|
|
|
|
});
|
|
|
|
}(jQuery));
|