Foros del Web » Programando para Internet » PHP »

Mostrar el retorno que origina enter en editor de texto para página dinámica

Estas en el tema de Mostrar el retorno que origina enter en editor de texto para página dinámica en el foro de PHP en Foros del Web. Hola a todos: Tengo una cuestión que aunque nunca me ha generado problema si me gustaria resolverlo para que quedara visualmente mejor. Tengo un editor ...
  #1 (permalink)  
Antiguo 09/04/2012, 09:32
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años, 5 meses
Puntos: 181
Mostrar el retorno que origina enter en editor de texto para página dinámica

Hola a todos:

Tengo una cuestión que aunque nunca me ha generado problema si me gustaria resolverlo para que quedara visualmente mejor.

Tengo un editor de paginas web dinámico y he logrado que al guardarse en la base de datos quede con formato html para visualizar en la web y cuando lo ve el usuario se vea codificado normal. El único inconveniente es que no se puede visualizar el retorno que origina el enter En su momento lei en algun lado que se debian quitar estos retornos para que al invocar a la función se pudiera ver. Pongo aquí una versión simplificada del código para que se entienda mejor.

Código PHP:
$sustitucion=array("r\n","\n\r","\n","\r");
$nContenido=str_replace($sustitucion," ",$contenido);//elimina los retornos dentro del contenido original de la base de datos.
$nContenido=utf8_encode(html_entity_decode($nContenido));//decodifica para hacerlo agradable a la persona que va a editar la noticia 
Luego lo llamo en el div que quiero que se visualice el contenido usando javascript :

Código HTML:
document.getElementById("contenido").value="<?php echo ($nContenido); ?>";
Si no realizo la sustitución de los retornos no es posible que los datos se visualicen dentro del div. Mi pregunta es: ¿existe alguna manera de poder visualizar estos retornos dentro del div para que se vea organizado? Si no es así la persona vera toda la información pegada sin separar.

De antemano agradezco la colaboración prestada y quedo atento a sugerencias.
  #2 (permalink)  
Antiguo 09/04/2012, 09:35
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 8 años, 6 meses
Puntos: 76
Respuesta: Mostrar el retorno que origina enter en editor de texto para página dinámi

hola men


utiliza nl2br al momento de pintar la info.

http://www.php.net/manual/es/function.nl2br.php
  #3 (permalink)  
Antiguo 09/04/2012, 09:56
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años, 5 meses
Puntos: 181
Respuesta: Mostrar el retorno que origina enter en editor de texto para página dinámi

hola, gracias por tu respuesta. Pues esta función ya la habia utilizado alguna vez pero cuando se usa de esta forma

Código PHP:
$nContenido=nl2br($contenido);
$nContenido=utf8_encode(html_entity_decode($nContenido)); 
Y luego se llama usando javascript

Código HTML:
document.getElementById("contenido").value="<?php echo ($nContenido); ?>";
Se queda el formulario donde quiero volver a recuperar los datos totalmente en blanco. Creo que esta función la logre hacer funcionar cuando el echo no se coloca dentro de un formulario. Igual aunque coloca un <br > insertado para un usuario que no conoce de html eso le parecera raro. Mi idea es que para el usuario promedio esto sea transparente como en cualquier editor de texto normal. Gracias y quedo pendiente de otras sugerencias.
  #4 (permalink)  
Antiguo 09/04/2012, 10:28
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 8 años, 6 meses
Puntos: 76
Respuesta: Mostrar el retorno que origina enter en editor de texto para página dinámi

hola

y si lo intentas asi:

Código Javascript:
Ver original
  1. function nl2br(str) {
  2.    return str.replace(/\n/g,"<br>");
  3. }
  4. document.write(nl2br("hola a \n todos"));
  #5 (permalink)  
Antiguo 10/04/2012, 09:24
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 8 años, 5 meses
Puntos: 181
Respuesta: Mostrar el retorno que origina enter en editor de texto para página dinámi

Una vez más gracias informacionsys por responder. El problema que se me presenta es el siguiente. Cuando yo guardo originalmente la información cada retorno de enter lo reemplazo por un <br /> Por tanto cuando recupero la información sale algo asi:

este es el final del parrafo.<br />Y aquí empieza el parrafo nuevo.

Y deseo que salga así para el usuario que desea realizar modificaciones a su texto (es decir el administrador de los contenidos)

este es el final del parrafo.
Y aquí empieza el parrafo nuevo.

Tratando de mirar como se hace esto en los foros del web trato de mirar el código fuente y viendo la diferencia encontre que ellos usan algo así como.

<td><div id="contenido">este es el final del parrafo.<br />Y aquí empieza el parrafo nuevo.</div></td>

Mientras yo lo hago así:

<td><textarea name="contenido">este es el final del parrafo.<br />Y aquí empieza el parrafo nuevo.</textarea></td>

Si yo trato de insertar el contenido con el código que tengo cambiando el textarea por el div no se deja insertar tal como lo hago ahora, además en foros del web el <br /> se observa en el código fuente pero el <br /> no lo ve el usuario. La verdad le he dado vueltas al asunto pero no se como solucionarlo para que se pueda insertar bien y el usuario no tenga que ver los <br /> pero si le muestre el espacio correspondiente.

Agradezco si alguien conoce del tema me pueda guiar un poco.

Etiquetas: editor, enter, html, página, retorno, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:40.