Foros del Web » Programando para Internet » PHP »

Ayuda para "chopear" texto

Estas en el tema de Ayuda para "chopear" texto en el foro de PHP en Foros del Web. Hola, tengo que chopear el texto: ¿Tu posición favorita? ***** :Regularassaiajijafjifsajifasijsaf ...para que solo quede: ¿Tu posición favorita? Gracias. Es que se me da muy ...
  #1 (permalink)  
Antiguo 02/12/2002, 15:55
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Ayuda para "chopear" texto

Hola, tengo que chopear el texto:
¿Tu posición favorita?
*****
:Regularassaiajijafjifsajifasijsaf

...para que solo quede:
¿Tu posición favorita?

Gracias. Es que se me da muy mal eso xD
__________________
"No hay mujer fea sino copa de menos"
  #2 (permalink)  
Antiguo 02/12/2002, 16:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
.. si te explicases algo mejor .. igual damos con la solucion (por mi parte no entedí nada.. )

y q es "chopear" ..

Un saludo,
  #3 (permalink)  
Antiguo 03/12/2002, 08:47
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Perdona, es hacer un chop para borrar texto de una cadena. Gracias.
__________________
"No hay mujer fea sino copa de menos"
  #4 (permalink)  
Antiguo 03/12/2002, 08:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ahora vi lo q es el chop() .. es un alias de rtrim() .. chop es mas bien sintaxis de Perl ...

Yo usaba rtrim() a secas para quitar saltos de linea de mas y otros caracteres al final y principio de cadenas .. pero hay un 2º parametro para .. ademas de los caracteres que ya elimina de por sí (salto de linea, tabulador y algunos mas ..) puedes añadir los caracteres que tu especifiques:

(el ejemplo del manual de php.net):

<?php

$text = "\t\tThese are a few words :) ... ";
$trimmed = rtrim($text);
// $trimmed = "\t\tThese are a few words :) ..."
$trimmed = rtrim($text," \t.");
// $trimmed = "\t\tThese are a few words :)"
$clean = rtrim($binary,"\0x00..\0x1F");
// trim the ASCII control characters at the end of $binary
// (from 0 to 31 inclusive)

?>

http://us.php.net/manual/en/function.rtrim.php

Ahora .. q porblema tienes? .. Los caracteres que añades para como dices tu "chopear" .. se expresan en ASCII o Octal (es octal o Hexadecimail xD que ya no me acuerdo xDD) ..

Y te vuelvo a insistir .. que es lo que quiers hacer (explicalo en palabras .. pues si se trata de eliminar saltos de linea al final o al principio . .justamente estos foros ya "chopean" xD asi q no se verá el efecto aquí).

Un saludo,
  #5 (permalink)  
Antiguo 03/12/2002, 15:19
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Sonrisa

Vale. Muchas gracias, si tengo duda preguntare.
__________________
"No hay mujer fea sino copa de menos"
  #6 (permalink)  
Antiguo 04/12/2002, 15:40
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Perdonad que no me haya explicado. Lo único que quiero es que cuando PHP llegue a un salto
de línea, este deje de mostrar contenido. Ejemplo:
Texto original ->"Texto de prueba\nESTO DE AQUÍ NO DEBERÍA ENTRAR.\nESTO TAMPOCO"
Texto procesado ->"Texto de prueba"
Es decir, que cuando llegue al primer salto de línea se detenga y se deje de escribir texto.
Creo que es una tontería, pero no sé qué función puede hacer esta tarea. A ver si me ayudais.
Gracias.
__________________
"No hay mujer fea sino copa de menos"
  #7 (permalink)  
Antiguo 04/12/2002, 19:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A lo bruto se me ocurre:

Código PHP:
<?
$cadena
="Texto de prueba\nESTO DE AQUÍ NO DEBERÍA ENTRAR.\nESTO TAMPOCO";

$lineas=explode("\n",$cadena); 
// aquí tienes un array con tantos elementos como \n 
// salto de linea tengas en tu cadena.

echo $lineas[0];
// solo mostramos la linea 1 (indice 0 del array) q corresponderia 
// a un primer parafo.

unset($lineas);
// como lo anteriro es una burrada (seguro q se
//  podrá otimizar con alguna otra función). 
// Por lo menos liberamos la memoria usada por
//  ese array lo antes posibles. xD

?>
Un saludo,
  #8 (permalink)  
Antiguo 05/12/2002, 10:35
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
gracias!
__________________
"No hay mujer fea sino copa de menos"
  #9 (permalink)  
Antiguo 05/12/2002, 14:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Una forma mas "ofuscada":
Código PHP:
$cadena="Texto de prueba\nESTO DE AQUÍ NO DEBERÍA ENTRAR.\nESTO TAMPOCO";
$texto=strrev(strrchr("\n",strrev($cadena)));
echo 
$texto
Esto devuelve tambien el '\n'. No lo he probado.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:34.