Foros del Web » Programando para Internet » PHP »

Cortar texto continuo en textarea

Estas en el tema de Cortar texto continuo en textarea en el foro de PHP en Foros del Web. Hola, tengo una pagina donde la gente puede subir sus comentarios, los cuales son guardados en una base de datos el problema es que si ...
  #1 (permalink)  
Antiguo 06/01/2011, 13:55
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 13 años, 8 meses
Puntos: 1
Pregunta Cortar texto continuo en textarea

Hola, tengo una pagina donde la gente puede subir sus comentarios, los cuales son guardados en una base de datos
el problema es que si alguien pone algo de corrido por ejemplo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
el texto se desborda de la tabla, buscando encontre este codigo :
if (strlen($cadena) > 70) {$cadena2 = substr($cadena, 0, 70)."<br>".substr($cadena, 70)}
y tambien encontre este
<?php
$cadena = preg_replace("/(\S{40,})/ise", "wordwrap('\\1', 40, ' ', true);", $cadena);
?>

pero no se como se implementa, soy nuevo en php, alguien me puede explicar, bien explicado como se utiliza para cortar el texto que se introduce en el textarea?

por favor no escriban comentarios como "NO ESPERES TODO SERVIDO..." o "ESTA EN EL MANUAL DE PHP", etc... comoo dije soy nuevo en esto y no estoy pidiendo un sistema completo de comentarios, sino un simple codigo que necesito, espero sepan entender.

Gracias de ante mano.
  #2 (permalink)  
Antiguo 06/01/2011, 15:33
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Cortar texto continuo en textarea

<!-- aqui empieza el form -->
<form method="post">
Comentario <br />
<textarea name="comentario"></textarea>
<br />
<input type="submit" value="Enviar" />
</form>
<!-- aca acaba-->
<?php
//almacenamos en la variable $comentario el contenido de $_POST[comentario]
$comentario=$_POST[comentario];
/* si el comentario tiene mas de 25 letras se va a "ejecutar el contenido
del condicional if osea lo que esta entre llaves {} */
if(strlen($comentario)>25){
/*
la funcion chunk_split va a cortar esa cadena
que tuvo mas de 25 letra cada 25 letras
*/
$comentario=chunk_split($comentario,25,"<br>");
}
//esto de abajo imprime el comentario
echo $comentario;
?>
  #3 (permalink)  
Antiguo 06/01/2011, 15:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Cortar texto continuo en textarea

Creo que con la funcion wordwrap() basta.

Guardas tu comentario en la base de datos, y a la hora de mostrarlo, suponiendo que el texto esta en la variable $texto, haces lo siguiente:

Código PHP:
echo '<textarea>';
echo 
wordwrap($texto50);
echo 
'</textarea>'
Donde 50 es el numero máximo de caracteres por linea
  #4 (permalink)  
Antiguo 06/01/2011, 15:37
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Cortar texto continuo en textarea

Te recomiendo crear un campo TIPO enum asepta "si","no" en tu tabla comentarios cosa que tu apruebas via web con php UPDATE comentarios malos y comentarios buenos y asi mostrar en tu web comentarios sin problema.
  #5 (permalink)  
Antiguo 06/01/2011, 16:07
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Cortar texto continuo en textarea

Cita:
Iniciado por hackjose Ver Mensaje
<!-- aqui empieza el form -->
<form method="post">
Comentario <br />
<textarea name="comentario"></textarea>
<br />
<input type="submit" value="Enviar" />
</form>
<!-- aca acaba-->
<?php
//almacenamos en la variable $comentario el contenido de $_POST[comentario]
$comentario=$_POST[comentario];
/* si el comentario tiene mas de 25 letras se va a "ejecutar el contenido
del condicional if osea lo que esta entre llaves {} */
if(strlen($comentario)>25){
/*
la funcion chunk_split va a cortar esa cadena
que tuvo mas de 25 letra cada 25 letras
*/
$comentario=chunk_split($comentario,25,"<br>");
}
//esto de abajo imprime el comentario
echo $comentario;
?>


primero que nada, gracias por ser tan explicativo.
Probe y no funciona, al comentario lo guardo en la dase de datos y despues lo muestro en otra pagina, alguna otra solucion?

P.D: al comentario no lo guardo en ninguna variable, simplemente lo guardo en la base de datos y despues lo llamo en otra pagina para mostrarlo.

gracias
  #6 (permalink)  
Antiguo 06/01/2011, 16:46
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Cortar texto continuo en textarea

codigo pagina comentario.php

Código HTML:
Ver original
  1. <form action="base_datos.php" method="post">
  2. <!-- aqui inicias el form le estas diciendo que el comentario lo envie
  3. a la pagina base_datos.php con el metodo post -->
  4. Comentario <br />
  5. <textarea name="comentario"></textarea>
  6. <br />
  7.  <input type="submit" value="Enviar" />
  8. </form>
  9. <!-- aca acaba el form-->

codigo pagina base_datos.php

Código PHP:
Ver original
  1. <?php
  2. //haces la conexion tu debes poner tus datos
  3. //osea en localhost pues el nombre de tu host tu nombre de usuario
  4. //en ves de root y al final tu contraseña
  5.  
  6. //selecciona la base de datos
  7. //en ves de "com" tu pones el nombre de tu base de datos
  8. mysql_connect("localhost","root","") or die("error");
  9. /*
  10. si ys se ingreso algun coentario que se ejecute lo
  11. que esta entre llaves ´ç */
  12. if(isset($_POST[comentario])){
  13. /* esto introduce tu comentario en la base de datos */
  14. mysql_query("insert into comentarios (comentario) values ('$_POST[comentario]')");
  15. //insert into comentarios esta es mi tabla
  16. //(comentario) este es el campo de mi tabla
  17. }
  18. else{
  19. // esto se puso asi por que si visitan "directamente la pagina
  20. //base_datos.php se insertan comentarios sin contenido
  21. echo "Regresate a comentario.php";
  22. }
  23. echo "<br><br>";
  24. $a=mysql_query("select * from comentarios");
  25. //aqui seleccionamos todo de la base comentarios y lo almacenamos en $a
  26. //despues esto transforma $a en un array
  27. echo "<table border='1'>";
  28. do{
  29. //aqui enpieza el bucle do while
  30. echo "<tr><td>Comentario</td><td>";
  31. echo chunk_split($b[comentario],25,"<br>");
  32. echo "</td></tr>";
  33. }while($b=mysql_fetch_array($a));
  34. //lo que esta entre el while "$b=mysql_fetch_array($a)"
  35. //digamos que dice mientras tengas algo que leer
  36. //aqui termina el bucle
  37. echo "</table>";
  38. ?>
  #7 (permalink)  
Antiguo 06/01/2011, 17:51
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Cortar texto continuo en textarea

Gracias a todos, pero encontre la solucion en una web en ingles :)
  #8 (permalink)  
Antiguo 06/01/2011, 17:54
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Cortar texto continuo en textarea

pues agrega aqui para otro que tengan el mismo problema.
  #9 (permalink)  
Antiguo 06/01/2011, 17:59
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Cortar texto continuo en textarea

Lo saque de aqui:

http://marc.info/?l=php-cvs&m=118048550123030

:)

Etiquetas: acortar, area, continuo, cortar, textarea, wordwrap
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 19:18.