Foros del Web » Programando para Internet » PHP »

buscar cadena entre cadena y solo imprimir la cadena

Estas en el tema de buscar cadena entre cadena y solo imprimir la cadena en el foro de PHP en Foros del Web. Saludos!, perdon si el titulo esta mal, pero no sabia como mas ponerlo la cosas es esta: Código PHP: $cadena  =  "blablabla <titulo>lo de adentro</titulo> blablabla" ; $n_cadena  =  ...
  #1 (permalink)  
Antiguo 24/01/2012, 19:42
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 13 años, 9 meses
Puntos: 3
buscar cadena entre cadena y solo imprimir la cadena

Saludos!, perdon si el titulo esta mal, pero no sabia como mas ponerlo la cosas es esta:

Código PHP:

$cadena 
"blablabla <titulo>lo de adentro</titulo> blablabla";

$n_cadena str_replace("/\<titulo\>(.*?)\<\/titulo\>/is","$1",$cadena);

echo 
$cadena//Devuelvo "blablabla lo de adentro blablabla" 
Solo quiero que imprima "lo de adentro" pero igual imprime todo, como puedo indicarle que solo se limite a ese contenido?
  #2 (permalink)  
Antiguo 24/01/2012, 19:56
 
Fecha de Ingreso: noviembre-2011
Mensajes: 13
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: buscar cadena entre cadena y solo imprimir la cadena

Solo agrega lo que quieres quitar dentro de un array();

Código PHP:
Ver original
  1. <?php
  2. $cadena = "blablabla <titulo>lo de adentro</titulo> blablabla";
  3. $quito = array("<titulo>", "</titulo>");
  4. $n_cadena = str_replace($quito,"$1",$cadena);
  5. echo $cadena; //Devuelvo "blablabla lo de adentro blablabla"
  6. ?>
  #3 (permalink)  
Antiguo 24/01/2012, 20:05
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: buscar cadena entre cadena y solo imprimir la cadena

Gracias por responder pero tu ejemplo hace lo mismo que el mio devuelve: "blablabla lo de adentro blablabla" y yo solo quiero "lo de adentro"
  #4 (permalink)  
Antiguo 24/01/2012, 20:26
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: buscar cadena entre cadena y solo imprimir la cadena

Debes usar la función preg_replace no str_replace o preg_match. También te sirve la clase DOM si es una página html.

Algo así mas o menos ajustando lo que llevas:

Código PHP:
Ver original
  1. <?php
  2. $cadena = "blablabla <titulo>lo de adentro</titulo> blablabla";
  3. preg_match("@<titulo>(.*?)</titulo>@is", $cadena, $m);
  4. echo $m[0];

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 24/01/2012 a las 20:37

Etiquetas: cadenas
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 13:35.