How can I disable CKEditor to get me every time
, when i don\'t want them? I\'m using CKEditor with jQuery adapter.
I don\'t want to have any
After some research I might shed some light on this issue - unfortunately there is no out-of-the-box solution.
In the CKEditor there are four ways a no-break space can occur (anybody know more?):
Automatic filling of empty blocks. This can be disabled in the config:
config.fillEmptyBlocks = false;
Automatic insertion when pressing TAB-key. This can be disabled in the config:
config.tabSpaces = 0;
Converting double spaces to SPACE+NBSP. This is a browser behavior and will thus not be fixed by the CKEditor team. It could be fixed serverside or by a clientside javascript onunload. Maybe this php is a start:
preg_replace('/\s \s/ig', ' ', $text);
By copy & paste. If you paste a UTF-8 no-break space or double-spaces CKEditor will convert it automatically. The only solution I see here is doing a regex as above. config.forcePasteAsPlainText = true;
doesn't help.
Summary: To get rid of all no-break spaces you need to write an additional function that cleans user input.
Comments and further suggestions are greatly appreciated! (I'm using ckeditor 3.6.4)
in config.js:
CKEDITOR.editorConfig = function( config ) {
config.enterMode = CKEDITOR.ENTER_BR; // <p></p> to <br />
config.entities = false;
config.basicEntities = false;
};
It work for me, after you can print text with php: html_entity_decode( $someText )
;
This is a bad solution
config.basicEntities = false;
<script type="text/javascript" src="/scripts/redactor/ckeditor/ckeditor.js"></script>
<p> </p>
сan not specify an indent in the text since the character
will be deleted (config.fillEmptyBlocks = true;)This is the right solution
$text = preg_replace("#([^>]) #ui", "$1 ", $text);
on a space, except those that are inside the tag like <p> </p>
Add this to your config.js
config.enterMode = CKEDITOR.ENTER_BR,