mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-18 16:45:31 +01:00
a66b92af4c
Built from https://develop.svn.wordpress.org/trunk@26209 git-svn-id: http://core.svn.wordpress.org/trunk@26117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
45 lines
1023 B
JavaScript
45 lines
1023 B
JavaScript
/* global wordCountL10n */
|
|
var wpWordCount;
|
|
(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 );
|
|
}
|
|
};
|
|
|
|
$(document).bind( 'wpcountwords', function(e, txt) {
|
|
wpWordCount.wc(txt);
|
|
});
|
|
}(jQuery));
|