Foros del Web » Programando para Internet » PHP »

Extraer cadena entre cadenas

Estas en el tema de Extraer cadena entre cadenas en el foro de PHP en Foros del Web. Mi pregunta es la siguiente : tengo una cadena almacenada en una variable y quiero extraer una parte de esta cadena que se encuentra entre ...
  #1 (permalink)  
Antiguo 17/04/2008, 12:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 159
Antigüedad: 16 años, 5 meses
Puntos: 1
Extraer cadena entre cadenas

Mi pregunta es la siguiente :

tengo una cadena almacenada en una variable y quiero extraer una parte de esta cadena que se encuentra entre dos palabras, supongamos la siguiente cadena:


la variable $cadena almacena:

$cadena="la casa vale muy cara";

y yo quiero extraer lo que se encuentra entre casa y muy, o sea, el resultado final deberia ser "vale".

Existe alguna funcion que haga esto..??
  #2 (permalink)  
Antiguo 17/04/2008, 14:25
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Extraer cadena entre cadenas

Holas moisesra

Sí, se llama substr(). Búscala en el sitio de PHP :)
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 17/04/2008, 20:19
Avatar de alexis77  
Fecha de Ingreso: diciembre-2003
Mensajes: 119
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Extraer cadena entre cadenas

Hola moisesra,

Sera esto lo que estabas buscando...

Código PHP:
$cadena "la casa vale muy cara";
$matriz explode("vale"$cadena);

echo 
$cadena;
echo 
"<br>Trozo 1 ==> " .$matriz[0];
echo 
"<br>Trozo 2 ==> " .$matriz[1]; 

Saludos!!!
  #4 (permalink)  
Antiguo 18/04/2008, 00:02
 
Fecha de Ingreso: abril-2008
Ubicación: Querétaro, Mexico
Mensajes: 44
Antigüedad: 16 años
Puntos: 2
Re: Extraer cadena entre cadenas

Cita:
Iniciado por alexis77 Ver Mensaje
Hola moisesra,

Sera esto lo que estabas buscando...

Código PHP:
$cadena "la casa vale muy cara";
$matriz explode("vale"$cadena);

echo 
$cadena;
echo 
"<br>Trozo 1 ==> " .$matriz[0];
echo 
"<br>Trozo 2 ==> " .$matriz[1]; 

Saludos!!!
no podria hacer eso, porque el no sabe que hay en el interior de la cadena, es lo que quiere extaer.

lo que podria hacer es:

usando strpos() que te da la ubicacion en numero, de alguna palabra (una ajuga en un pajar).

puedes hacerlo asi:

Código PHP:
<?php
$cadena  
=  "la casa vale muy cara";

$palabra_inicio "casa";
$palabra_limite "muy";

$inicio strpos($cadena$palabra_inicio) + strlen($palabra_inicio); 
// esto te da donde empieza esa palabra, pero como te da el inico, hay q sumarle la longitud de esa palabra.

$primer_resultado substr($cadena$inicio);
//este es nuestro primer resultado, nos devuelve: " vale muy cara", hay que limpiarlo todavia.


$limite strpos($primer_resultado$palabra_limite); // esto te marca el final, para no obtener mas del limite.

//y finalmente hacemos un ultimo substr para sacar tu aguja completa del pajar :D
$resultado substr($primer_resultado0$limite);

echo 
$resultado;

?>
  #5 (permalink)  
Antiguo 19/04/2008, 16:45
Avatar de alexis77  
Fecha de Ingreso: diciembre-2003
Mensajes: 119
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Extraer cadena entre cadenas

Publicado por gary_qwerty

Cita:
no podria hacer eso, porque el no sabe que hay en el interior de la cadena, es lo que quiere extaer.

lo que podria hacer es:

usando strpos() que te da la ubicacion en numero, de alguna palabra (una ajuga en un pajar).

puedes hacerlo asi:

Código PHP:
<?php
$cadena  
=  "la casa vale muy cara";

$palabra_inicio "casa";
$palabra_limite "muy";

$inicio strpos($cadena$palabra_inicio) + strlen($palabra_inicio); 
// esto te da donde empieza esa palabra, pero como te da el inico, hay q sumarle la longitud de esa palabra.

$primer_resultado substr($cadena$inicio);
//este es nuestro primer resultado, nos devuelve: " vale muy cara", hay que limpiarlo todavia.


$limite strpos($primer_resultado$palabra_limite); // esto te marca el final, para no obtener mas del limite.

//y finalmente hacemos un ultimo substr para sacar tu aguja completa del pajar :D
$resultado substr($primer_resultado0$limite);

echo 
$resultado;

?>
Amigo gary_qwerty tienes toda la razon y gracias por la correccion, en su momento habia entendido lo contrario al planteamiento de moisesra, tendre mas cuidado par la proxima.


Saludos!!!
  #6 (permalink)  
Antiguo 20/04/2008, 22:08
 
Fecha de Ingreso: abril-2008
Ubicación: Querétaro, Mexico
Mensajes: 44
Antigüedad: 16 años
Puntos: 2
Re: Extraer cadena entre cadenas

Cita:
Iniciado por alexis77 Ver Mensaje
Amigo gary_qwerty tienes toda la razon y gracias por la correccion, en su momento habia entendido lo contrario al planteamiento de moisesra, tendre mas cuidado par la proxima.


Saludos!!!

jeje... no te apures, a todos nos pasa

un saludo,
Carlos
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 02:49.