Comment désactiver CKEditor pour qu'il me reçoive à chaque fois ?
alors que je n'en veux pas ? J'utilise CKEditor avec un adaptateur jQuery.
Je ne veux pas avoir
tags.
Comment désactiver CKEditor pour qu'il me reçoive à chaque fois ?
alors que je n'en veux pas ? J'utilise CKEditor avec un adaptateur jQuery.
Je ne veux pas avoir
tags.
Après quelques recherches, je pourrais faire la lumière sur ce problème - malheureusement, il n'existe pas de solution toute faite.
Dans CKEditor, un espace sans rupture peut se produire de quatre manières différentes (Quelqu'un en sait plus ?) :
Remplissage automatique des blocs vides . Ceci peut être désactivé dans la configuration :
config.fillEmptyBlocks = false;
Insertion automatique en appuyant sur la touche TAB . Ceci peut être désactivé dans la configuration :
config.tabSpaces = 0;
Conversion des espaces doubles en ESPACE+NBSP. Il s'agit d'un comportement du navigateur et il ne sera donc pas corrigé par l'équipe de CKEditor. . Il pourrait être corrigé par le serveur ou par un javascript onunload côté client. Peut-être que ce php est un début :
preg_replace('/\s \s/ig', ' ', $text);
Par copier-coller. Si vous collez un Espace sans coupure UTF-8 ou des doubles espaces, CKEditor les convertira automatiquement. La seule solution que je vois ici est de faire une regex comme ci-dessus. config.forcePasteAsPlainText = true;
n'aide pas.
Résumé : Pour se débarrasser de tous les espaces sans coupure, vous devez écrire une fonction supplémentaire qui nettoie les entrées de l'utilisateur.
Les commentaires et autres suggestions sont très appréciés ! (J'utilise ckeditor 3.6.4)
Il y a une autre façon dont un caractère d'espace non cassant peut se produire. En saisissant simplement un espace à la fin d'une phrase.
CKEditor échappe les entités HTML de base ainsi que les entités latines et grecques.
Ajoutez ces options de configuration pour éviter cela (vous pouvez également les ajouter dans votre fichier de configuration) :
CKEDITOR.on( 'instanceCreated', function( event ) {
editor.on( 'configLoaded', function() {
editor.config.basicEntities = false;
editor.config.entities_greek = false;
editor.config.entities_latin = false;
editor.config.entities_additional = '';
});
});
Ces options empêcheront CKEditor d'échapper à l'expression nbsp gt lt amp ' "
et d'autres caractères latins et grecs.
Sources : http://docs.ckeditor.com/#!/api/CKEDITOR.config http://docs.ckeditor.com/source/plugin48.html#CKEDITOR-config-cfg-basicEntities
J'ai remarqué que certaines opérations d'édition de texte, comme la suppression d'un caractère (en appuyant sur le bouton Retour arrière) divisent le nœud de texte édité en deux. Le fait d'appuyer sur la barre d'espacement à la fin d'un tel nœud de texte nouvellement créé donne toujours lieu à
au lieu de l'espace normal. J'appelle normalize()
http://www.w3schools.com/jsref/met_node_normalize.asp à l'élément modifié après le changement :
CKEDITOR.on('instanceReady', function (ck) {
ck.editor.on("change", function (e) {
var sel = ck.editor.getSelection();
if (sel) {
var selected = sel.getStartElement();
if (selected && selected.$)
sel.getStartElement().$.normalize();
}
});
});
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Comment saura-t-il lesquels vous voulez et lesquels vous ne voulez pas ? Voulez-vous les supprimer todos ou réduire les multiples, ou autre chose ? Comment y parviennent-ils en premier lieu ?
0 votes
Je ne veux pas qu'ils soient ajoutés tous
0 votes
OK, je voulais juste clarifier. Donc, lorsqu'un utilisateur appuie sur la barre d'espacement, le système n'ajoutera jamais plus d'un espace ? En d'autres termes, vous ne voulez pas avoir à faire cela du côté du serveur, n'est-ce pas ? Je suppose que le meilleur moyen serait de les transformer tous en espaces normaux (juste au cas où certains séparent deux mots), mais je ne suis pas sûr de savoir comment le faire avec ckeditor spécifiquement.
0 votes
Lorsque je charge du html, que je vais dans la partie wysywyg de l'éditeur, puis que je reviens à la partie html de l'éditeur - il ajoute des balises nbsp, à beaucoup d'endroits, je sais pourquoi il les ajoute, j'ai fait des recherches sur le problème, mais aucune solution n'a fonctionné.
3 votes
Il ajoute également   ; dans les cellules vides du tableau, ce qui casse certains designs d'emails.