Foros del Web » Programando para Internet » PHP »

Final de cadena

Estas en el tema de Final de cadena en el foro de PHP en Foros del Web. Hola buenos dias como prodia intersertar el final de una cadena y añadir en esta unos caracteres Gracias Un Saludo...
  #1 (permalink)  
Antiguo 18/03/2003, 03:31
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
Final de cadena

Hola buenos dias como prodia intersertar el final de una cadena y añadir en esta unos caracteres


Gracias

Un Saludo
  #2 (permalink)  
Antiguo 18/03/2003, 03:39
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
No sé muy bien a lo que te refieres, pero seguramente lo lograrás con substr()
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 18/03/2003, 03:56
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
yo lo que quiero conseguir es por ejemplo que si el usuario pone


esto es el texto
el php me guarde en base de datos
esto es el texto....

con la funcion substr yo que puedo es extraer el numero de caracteres que yo quiero tanto del final como del princio de una cadena no?¿

Un Saludo
  #4 (permalink)  
Antiguo 18/03/2003, 04:00
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
substr($cadena, $inicio, $cantidad)

Donde:
$cadena = el texto
$inicio = posición inicial (empezando por 0)
$cantidad = cantidad de caracteres.

Ejemplo:
Código PHP:
<?
$cadena 
"Este texto tiene 31 caracteres." 
echo substr($cadena04); # pinta "este"
echo substr($cadena55); # pinta "texto"
echo substr($cadena17); # pinta "31 caracteres"
echo substr($cadena, -5); #pinta "teres"
?>
Espero que haya quedado más o menos claro
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 18/03/2003, 04:26
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
que tal el problema esta en que si duvuelvo el ultimo caracter con el -1 pone esto

el texto

con $texto = substr_replace ($texto, '....', -1, 0)

me hace esto el text....o

y no se la forma de que lo pona despues del ultimo caracter pro que si pongo cero logicamente me pone ....el texto


Un Saludo
  #6 (permalink)  
Antiguo 18/03/2003, 04:47
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
ok CAIN muchas gracias lo que hize fue lo siguiente :

Código PHP:
$numero =strlen ($texto);
$texto substr_replace ($texto'....'$numero0); 
y funciona perfectamente, se me ocurrio ahora mismousar el strlen para saber el numero de caracteres y con lo cual el ultimo

Gracias

Un Saludo
  #7 (permalink)  
Antiguo 18/03/2003, 05:19
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola,

si necesitas solamente añadir "..." a una cadena haz solamente esto:

$cadena .= '...';

eso si te entendí bien por tu último post, de lo contrario si necesitas cortar una cadena y añadirle '...' solamente hasta tal numero de caracteres para reducir el texto, utiliza esas funciones. lo único recortar texto te va a cortar el texto en tal posición y te pueden cortar la última palabra, tipo "este es el texto" quedaría "este es e...", etc, en ese caso tenes que añadir un paso intermedio que te busque desde la posición de caracter a cortar, hasta donde haya un espacio en blanco,

$txt_previo = substr($cadena, 0, 450); // 450 caracteres
$txt = substr($txt_previo, 0, strrpos($txt_previo, " ")) . '... '; // resultado: te agrega el "..." en el último espacio en blanco que haya en la cadena recortada...

no sé si me explico bien pero espero que sirva

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #8 (permalink)  
Antiguo 18/03/2003, 07:32
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
ok sci-fi estas en lo cierto con poner
Código PHP:
$texto .=' ....'
es el mismo resultado que poner :
Código PHP:
$numero =strlen ($texto);
$texto substr_replace ($texto'....'$numero0); 
pero por supuesto es mucho mas rapido como tu dices

Muchas gracias a los dos


Un Saludo
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 00:45.