Foros del Web » Programando para Internet » PHP »

Borrador automatico

Estas en el tema de Borrador automatico en el foro de PHP en Foros del Web. Como estan? Les queria preguntar si ustedes saben como hacer una funcion en el cual borre palabras de 50 caracteres todos juntos. Es decir: Ejemplo: ...
  #1 (permalink)  
Antiguo 11/03/2011, 17:11
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Borrador automatico

Como estan?
Les queria preguntar si ustedes saben como hacer una funcion en el cual borre palabras de 50 caracteres todos juntos.

Es decir:
Ejemplo:
Hola te quiero preguntar por un producto que tenes a la venta qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqq

Quedaria:
Hola te quiero preguntar por un producto que tenes a la venta

En definitiva lo que quiero hacer es separar palabras de 50 carateres, es decir que cada 50 caracteres juntos se haga automaticamente un espacio.

Muchisimas gracias.

EL FORO ME HIZO LA PALABRA SEPARADA, PERO LO ESCRIBIR JUNTO.

Última edición por guillermo90; 11/03/2011 a las 17:24 Razón: Palabra
  #2 (permalink)  
Antiguo 11/03/2011, 18:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Borrador automatico

¿wordwrap?
¿overflow CSS?

hasta con un simple split o explode en el servidor con php por ejemplo ¿?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/03/2011, 18:56
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por maycolalvarez Ver Mensaje
¿wordwrap?
¿overflow CSS?

hasta con un simple split o explode en el servidor con php por ejemplo ¿?
Yo uso dreamweaver 8, programacion en php y javascript

Última edición por guillermo90; 11/03/2011 a las 18:57 Razón: letras
  #4 (permalink)  
Antiguo 11/03/2011, 19:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Borrador automatico

Ya que el foro no te deja explicarte bien y no te entendí del todo, ¿podrías poner un link de como sería el texto antes y después de la transformación?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 11/03/2011, 19:53
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por _cronos2 Ver Mensaje
Ya que el foro no te deja explicarte bien y no te entendí del todo, ¿podrías poner un link de como sería el texto antes y después de la transformación?
Saludos (:
Amigo:
Voy a tratar de hacerlo facil para que me pueda entender. Yo tengo una pagina con un sector de preguntas y respuestas, el poblema esta cuando escribo una palabra de cien caracteres porque es algo peligroso y me descompagina toda la web. Estonces lo que quiero hacer es la misma funcion que utiliza esta misma pagina, cada 50 caracteres sin ningun espacio osea todas las letras juntas, al caracter 51 me haga automaticamente un espacio.

Te hago un ejemplo facil:

Suspognemos que esta palabra tiene 50 caracteres (cicuenta ACA SE HACE UN ESPACIO cicuenta uno).

Espero que me entienda.
Muchisimas gracias por tu ayuda.
  #6 (permalink)  
Antiguo 11/03/2011, 20:38
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Borrador automatico

bueno, si usas php, puedes usar explode para picar la cadena por palabras, recorres el array buscando que cadena tiene más de 50 en longitud y aplicas wordwrap.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 11/03/2011, 21:28
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por maycolalvarez Ver Mensaje
bueno, si usas php, puedes usar explode para picar la cadena por palabras, recorres el array buscando que cadena tiene más de 50 en longitud y aplicas wordwrap.
Perdoname, estuve buscando eso pero no me sale, como lo puedo hacer?
  #8 (permalink)  
Antiguo 11/03/2011, 21:49
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Borrador automatico

Esto:
Código PHP:
<?php 
$texto 
"Hola te quiero preguntar por un producto que tenes a la venta qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
$texto wordwrap($texto30" "true);
echo 
$texto;
?>
  #9 (permalink)  
Antiguo 11/03/2011, 21:59
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por Panino5001 Ver Mensaje
Esto:
Código PHP:
<?php 
$texto 
"Hola te quiero preguntar por un producto que tenes a la venta qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
$texto wordwrap($texto30" "true);
echo 
$texto;
?>
Capo si es eso cada 50 caracteres juntos hace un espacio pero como lo pongo para sea automatico porque como esta es manual
  #10 (permalink)  
Antiguo 11/03/2011, 22:12
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Borrador automatico

Cuando vas a guardar en base de datos o mostrar lo escrito por el usuario aplicás esa función, de la misma manera en que seguramente aplicarás otras para evitar la inyección de código malicioso. Pero ya es tema de php. Reportá el mensaje para que lo muevan en todo caso (el espacio en mi ejemplo se agrega cada 30 caracteres seguidos, si lo querés cada 50, cambiá el 30 por 50).
PD: Imagino que no lo querés hacer en javascript porque sería absurdo (desactivo javascript y listo, ya te estropeé la web)

Última edición por Panino5001; 11/03/2011 a las 22:17
  #11 (permalink)  
Antiguo 11/03/2011, 22:25
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por Panino5001 Ver Mensaje
Cuando vas a guardar en base de datos o mostrar lo escrito por el usuario aplicás esa función, de la misma manera en que seguramente aplicarás otras para evitar la inyección de código malicioso. Pero ya es tema de php. Reportá el mensaje para que lo muevan en todo caso (el espacio en mi ejemplo se agrega cada 30 caracteres seguidos, si lo querés cada 50, cambiá el 30 por 50).
PD: Imagino que no lo querés hacer en javascript porque sería absurdo (desactivo javascript y listo, ya te estropeé la web)
Amigo yo puso el codigo que me pasaste en mi web y lo adapte a mi necesidad pero no funciona, te paso el codigo entero.

<?php
session_start();
$paginaactual=$_SERVER['REQUEST_URI'];
if (!isset($_SESSION['idusuario']) or $_SESSION['idusuario']=="") {
header("Location: login.php?paginaactual=$paginaactual");
}
include_once("../includes/procs.php");
include_once('../includes/tiemposession.php');
include_once("../includes/clases.php");
include_once("../includes/class.pregunta.php");
//************************************************** **************************************************
$idusuario=limpia($_SESSION['idusuario']);
$idpublicacion=limpia($_REQUEST['idpublicacion']);
//************************************************** **************************************************
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pregunta por este aviso</title>
<link href="../css/stylo0.css" rel="stylesheet" type="text/css" />
</head>
<SCRIPT language="javascript">
function contar(form,name) {
n = document.forms[form][name].value.length;
t = 500;
if (n > t) {
document.forms[form][name].value = document.forms[form][name].value.substring(0, t);
}
else {
document.forms[form]['result'].value = t-n;
}
}

</script>
<body>
<table border="1" align="center">
<tr>
<td align="center" valign="top" class="titlesection">
<p class="highText">Ingrese la Pregunta al Vendedor (Pub:<?php print $idpublicacion;?>)</p>
<form id="form1" name="form1" method="post" action="">
<input type="hidden" name="idpublicacion" value="<?php print $idpublicacion; ?>">
<label>
<textarea name="descripcion" cols="65" rows="5"
onkeydown="contar('form1','descripcion')"
onkeyup="contar('form1','descripcion')">
</textarea>
</label>
<label></label>
<INPUT name=result value=1000 size="4" readonly="true">
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
</form> <p>&nbsp;</p></td>
<?php
$texto = "descripcion";
$texto = wordwrap($texto, 50, " ", true);
echo $texto;
?>
</tr>
</table>
</body>
</html>
<script languaje="JavaScript">
window.opener.location.reload(true);
</script>
<?php
if (isset($_POST['Submit'])) {
$error="";
$descripcion=limpia($_POST['descripcion']);
if ($error=="" and empty($descripcion)) $error='Ingrese la Pregunta al Vendedor';
if (empty($error)) {
$Pregunta=new Pregunta();
$Pregunta->setidpublicacion($idpublicacion);
$Pregunta->setidusuario($idusuario);
$Pregunta->setfecha(date("Y/m/d H:i"));
$Pregunta->setdescripcion($descripcion);
$Pregunta->sethabilitado(1);
$Pregunta->insertPregunta();
mensaje("Se ha Generado la Pregunta, de Enter");
exit;
}
else
{
mensaje($error);
}
}
?>

Gracias
  #12 (permalink)  
Antiguo 11/03/2011, 22:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Borrador automatico

Fijate así:
Código PHP:
<?php
session_start
();
$paginaactual=$_SERVER['REQUEST_URI'];
if (!isset(
$_SESSION['idusuario']) or $_SESSION['idusuario']=="") {
header("Location: login.php?paginaactual=$paginaactual");
}
include_once(
"../includes/procs.php");
include_once(
'../includes/tiemposession.php');
include_once(
"../includes/clases.php");
include_once(
"../includes/class.pregunta.php");
//************************************************** **************************************************
$idusuario=limpia($_SESSION['idusuario']);
$idpublicacion=limpia($_REQUEST['idpublicacion']);
//************************************************** **************************************************
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pregunta por este aviso</title>
<link href="../css/stylo0.css" rel="stylesheet" type="text/css" />
</head>
<SCRIPT language="javascript">
function contar(form,name) {
n = document.forms[form][name].value.length;
t = 500;
if (n > t) {
document.forms[form][name].value = document.forms[form][name].value.substring(0, t);
}
else {
document.forms[form]['result'].value = t-n;
}
}

</script>
<body>
<table border="1" align="center">
<tr>
<td align="center" valign="top" class="titlesection">
<p class="highText">Ingrese la Pregunta al Vendedor (Pub:<?php print $idpublicacion;?>)</p>
<form id="form1" name="form1" method="post" action="">
<input type="hidden" name="idpublicacion" value="<?php print $idpublicacion?>">
<label>
<textarea name="descripcion" cols="65" rows="5"
onkeydown="contar('form1','descripcion')"
onkeyup="contar('form1','descripcion')">
</textarea>
</label>
<label></label>
<INPUT name=result value=1000 size="4" readonly="true">
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
</form> <p>&nbsp;</p></td>

</tr>
</table>
</body>
</html>
<script languaje="JavaScript">
window.opener.location.reload(true);
</script>
<?php
if (isset($_POST['Submit'])) {
$_POST['descripcion']=wordwrap($_POST['descripcion'], 50" "true); 
$error="";
$descripcion=limpia($_POST['descripcion']);
if (
$error=="" and empty($descripcion)) $error='Ingrese la Pregunta al Vendedor';
if (empty(
$error)) {
$Pregunta=new Pregunta();
$Pregunta->setidpublicacion($idpublicacion);
$Pregunta->setidusuario($idusuario);
$Pregunta->setfecha(date("Y/m/d H:i"));
$Pregunta->setdescripcion($descripcion);
$Pregunta->sethabilitado(1);
$Pregunta->insertPregunta();
mensaje("Se ha Generado la Pregunta, de Enter");
exit;
}
else
{
mensaje($error);
}
}
?>
  #13 (permalink)  
Antiguo 11/03/2011, 22:40
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por panino5001 Ver Mensaje
fijate así:
Código PHP:
<?php
session_start
();
$paginaactual=$_server['request_uri'];
if (!isset(
$_session['idusuario']) or $_session['idusuario']=="") {
header("location: Login.php?paginaactual=$paginaactual");
}
include_once(
"../includes/procs.php");
include_once(
'../includes/tiemposession.php');
include_once(
"../includes/clases.php");
include_once(
"../includes/class.pregunta.php");
//************************************************** **************************************************
$idusuario=limpia($_session['idusuario']);
$idpublicacion=limpia($_request['idpublicacion']);
//************************************************** **************************************************
?>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>pregunta por este aviso</title>
<link href="../css/stylo0.css" rel="stylesheet" type="text/css" />
</head>
<script language="javascript">
function contar(form,name) {
n = document.forms[form][name].value.length;
t = 500;
if (n > t) {
document.forms[form][name].value = document.forms[form][name].value.substring(0, t);
}
else {
document.forms[form]['result'].value = t-n;
}
}

</script>
<body>
<table border="1" align="center">
<tr>
<td align="center" valign="top" class="titlesection">
<p class="hightext">ingrese la pregunta al vendedor (pub:<?php print $idpublicacion;?>)</p>
<form id="form1" name="form1" method="post" action="">
<input type="hidden" name="idpublicacion" value="<?php print $idpublicacion?>">
<label>
<textarea name="descripcion" cols="65" rows="5"
onkeydown="contar('form1','descripcion')"
onkeyup="contar('form1','descripcion')">
</textarea>
</label>
<label></label>
<input name=result value=1000 size="4" readonly="true">
<p>
<input type="submit" name="submit" value="enviar" />
</p>
</form> <p>&nbsp;</p></td>

</tr>
</table>
</body>
</html>
<script languaje="javascript">
window.opener.location.reload(true);
</script>
<?php
if (isset($_post['submit'])) {
$_post['descripcion']=wordwrap($_post['descripcion'], 50" "true); 
$error="";
$descripcion=limpia($_post['descripcion']);
if (
$error=="" and empty($descripcion)) $error='ingrese la pregunta al vendedor';
if (empty(
$error)) {
$pregunta=new pregunta();
$pregunta->setidpublicacion($idpublicacion);
$pregunta->setidusuario($idusuario);
$pregunta->setfecha(date("y/m/d h:i"));
$pregunta->setdescripcion($descripcion);
$pregunta->sethabilitado(1);
$pregunta->insertpregunta();
mensaje("se ha generado la pregunta, de enter");
exit;
}
else
{
mensaje($error);
}
}
?>
capo idolo me funciono espectacular, explicame como hago para darte karma te lo mereces.
  #14 (permalink)  
Antiguo 11/03/2011, 22:43
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Borrador automatico

No me interesa el karma, no te hagas problema
  #15 (permalink)  
Antiguo 11/03/2011, 22:49
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por Panino5001 Ver Mensaje
No me interesa el karma, no te hagas problema
La ultima preguntita, recien haciendo puebras con mayuscula no me hace el separador solo con minuscula sabes porque puede ser? porque tambien es raro que no se descompagina la pagina pero no se separa en mayuscula.

mil gracias por la ayuda y buena onda.
  #16 (permalink)  
Antiguo 11/03/2011, 22:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Borrador automatico

Si no se te desajusta la página es porque está separando. Quizá sea un tema visual.
La función sólo cuenta caracteres unidos, no verifica mayúsculas.
Por ejemplo, en este test me devuelve lo comentado en amarillo:
Código PHP:
<?php 
$texto 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAA";
$texto wordwrap($texto5" "true);
echo 
$texto;//AAAAA AAAAA AAAAA AAAAA AAAAA AAA 
?>
  #17 (permalink)  
Antiguo 11/03/2011, 23:02
 
Fecha de Ingreso: julio-2009
Mensajes: 104
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Borrador automatico

Cita:
Iniciado por Panino5001 Ver Mensaje
Si no se te desajusta la página es porque está separando. Quizá sea un tema visual.
La función sólo cuenta caracteres unidos, no verifica mayúsculas.
Por ejemplo, en este test me devuelve lo comentado en amarillo:
Código PHP:
<?php 
$texto 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAA";
$texto wordwrap($texto5" "true);
echo 
$texto;//AAAAA AAAAA AAAAA AAAAA AAAAA AAA 
?>
Ahh, es una sensacion virsual, recien conte el primer reglon y tiene 50 caracteres y paso al segundo que tambien tiene 50, lo que paso que miraba que estaba todo juntos.
Funciona joya amigazo, muchisimas gracias si tenes algun inconveniente con algo de php o javascript no dudes en consultame.
  #18 (permalink)  
Antiguo 12/03/2011, 04:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, guillermo90

Muevo tu tema al foro de PHP desde Javascript.

Saludos,

Etiquetas: automatico, javascript
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 21:46.