0
alert(CKEDITOR.instances.editor1.getData().replace(/<[^>]*>|\s/g, '').length);

このコードを使用して、エディターに書き込まれたテキストの文字数を取得しています。残念ながら複数のスペースを続けて書くと に変わり&nbsp;、 などの文字を書くと 1 文字ではなく 8 文字áと解釈されます。&aacute;

私の質問は、文字をカウントする前に、この行をどのように拡張して html エンティティをデコードできるかです。

4

1 に答える 1

1

気にしないで、別の方法を見つけました:

alert(CKEDITOR.instances.editor1.getData().replace(/&[^&]*;|\s/g, 'x').replace(/<[^>]*>|\s/g, '').length);

htmlentities は 1 文字 (x) になります。

于 2013-11-09T13:18:23.197 に答える