Evite que CKEditor formatee el código en el modo fuente

¿Cómo se puede evitar el formateo automático en CKEditor cuando se ve en modo fuente?

Me gusta editar el código fuente HTML directamente en lugar de usar la interfaz WYSIWYG, pero cada vez que escribo nuevas líneas o tags de diseño, cómo se sangran, todo se formatea cuando cambio al modo WYSIWYG y luego de nuevo al modo fuente.

Me topé con un ticket dev CKEditor, preservar el formato de los elementos de ProtectedSource , que aludía a una configuración que pudo haber existido una vez que sería exactamente lo que estoy buscando. Solo quiero saber cómo puedo desactivar por completo el formateo automático cuando edito en modo fuente.

Se me ocurrió una solución que pensé que sería infalible (aunque no agradable).

Aprendí sobre la configuración protectedSource , así que pensé, bueno, tal vez solo pueda usar eso y crear una etiqueta de comentario HTML antes de todo mi HTML y otra después y luego insertar una expresión regular encontrando las tags de comentarios en la matriz protectedSource , pero incluso eso (créalo o no) no funciona.

He intentado mi expresión directamente en el navegador fuera de CKEditor y está funcionando, pero CKEditor no protege el código como se esperaba (que sospecho que es un error que implica tags de comentarios, ya que puedo hacer que funcione con otras cadenas) ) En caso de que se lo pregunte, esto es lo que esperaba que funcionara como una solución alternativa, pero no:

 config.protectedSource.push( /[\s\S]*/gi ); 

y lo que planeé hacer (por lo que parece ser la falta de una configuración para deshabilitar el formateo en el modo fuente) fue anidar todo mi HTML dentro de las tags comentadas como esta:

  
some code that shouldn't be messed with (but is)

Me encantaría saber si alguien tiene alguna sugerencia para este escenario, o sabe de una configuración que he descrito, o incluso si alguien puede informarme de por qué no puedo protectedSource para que funcione correctamente con dos tags de comentarios .

Realmente creo que debe ser un error porque puedo hacer que tantas otras expresiones funcionen bien, e incluso puedo proteger HTML dentro del área de una sola etiqueta de comentario, pero simplemente no puedo obtener HTML dentro de dos tags de comentarios diferentes para permanecer intacto.

Mi solución a esto fue usar comentarios en mi sistema, pero antes de alimentar el contenido de la página a CKEditor, convertirlos a tags HTML personalizadas. Luego, al guardar, convertirlos a mis tags de comentarios.

Para su syntax que sería algo como esto en PHP. Antes de imprimir el contenido de la página en el área de texto:

 $content = str_replace(array('',''),array('',''),$content); 

Antes de guardar el contenido resultante:

 $content = str_replace(array('',''),array('',''),$content); 

En la configuración de CKEditor:

 protectedSource:[/[\s\S]*<\/protected>/g] 

¡Espero que ayude!

Quería preservar nuevas líneas en mi fuente, y la función protectedSource funciona bien para eso. config.js esto a mi config.js :

 config.protectedSource = [/\r|\n/g]; 

config.allowedContent=true; hará el truco

Aquí está el código HTML completo

     CKEditor        

Resolví este problema simplemente rodeando el resultado final de la página de edición de formulario con una condicional en una variable $ _GET: cuando haces clic en “Modo experto”, carga un área de texto simple en lugar del sistema ckeditor. Su invocación del objeto ckeditor variará según su configuración. (Tengo una clase personalizada que llama / crea el objeto editor)

  \n"; print "\n"; } else { print "\n"; require_once( 'admin/editor.class.php' ); $aDoc['content'] = str_replace( "\r", '', str_replace( "\n", '', nl2br( $aDoc['content'] ) ) ); $oEditor = new setEditor( $aDoc['content'], $nEwidth, "400", 'content' ); $oEditor->ShowEditor(); } ?> 

¿ Esta respuesta ayuda? Básicamente puede desactivar las opciones agregando un javascript, parece.