Utilizo FCKEditor (editor WYSIWYG famosillo, por si alguien no lo conoce) en el panel de administración de una página que estoy desarrollando y tengo el siguiente problema:
Al crear una nueva página con un formulario, el contenido de la cual lo genera FCKEditor como HTML, lo guardo en una tabla de una base de datos MySQL. Luego si quiero editarla, puedo hacerlo a través de un formulario parecido que recoge los datos de la página en cuestión y la muestra en el formulario.
Ahora viene el problema, y es que cuando quiero que el editor WYSIWYG muestre el código HTML este se muestra con saltos de línea, lo cual hace que la variable Javascript no sea válida. Me explico:
Código HTML:
<script language="javascript">
Código:
var oFCKeditor = new FCKeditor('content'); oFCKeditor.Width = "97%"; oFCKeditor.Height = 200; oFCKeditor.Config[ "AutoDetectLanguage" ] = false; oFCKeditor.Config[ "DefaultLanguage" ] = "ca"; oFCKeditor.ToolbarSet = "Default"; oFCKeditor.Value = '<?php echo $new["content"]; ?>'; oFCKeditor.Config[ "SkinPath" ] = 'skins/Office2007Real/'; oFCKeditor.BasePath = "http://xxx/cairat/admin/themes/cairat/fckeditor/"; oFCKeditor.Create();
Código HTML:
</script>
Código:
Con lo cual, los saltos de línea impiden que la lectura Javascript se realice y no aparece nada.oFCKeditor.Value = '<p>adsa</p> <p> </p> <p>dd</p>';oFCKeditor.Create();
He probado varias soluciones entre Google y Foros del web, como por ejemplo al guardar la información en la base de datos cuando se crea la página
Código PHP:
$content=$_POST["content"];
$content = trim($content);
$content = str_replace("
", $content);
$content = rtrim($content);
$content = chop($content);
$content = str_replace("\n", $content);
$content = str_replace("[\n\r]", $content);
$content = str_replace("[\n]", $content);
Otra solución que se me ha ocurrido es intentar contar las líneas de la cadena en PHP y luego ir mostrándolas una por una:
Código:
Pero no he encontrado ninguna función en PHP para contar cadenas que no seaoFCKEditor.Value = '<p>adsa</p>'; oFCKEditor.Value+= '<p> </p>'; etc..
Código PHP:
explode("\n", $content);
¿Alguna sugerencia para eliminar los saltos de línea o contar líneas?
Muchas gracias!