Foros del Web » Programando para Internet » PHP »

Recoger cadena entre caracteres

Estas en el tema de Recoger cadena entre caracteres en el foro de PHP en Foros del Web. Hola a todos !! Estoy dándole vueltas pero no consigo hacer lo siguiente. Quiero que en la siguiente cadena, guardar en variable lo que hay ...
  #1 (permalink)  
Antiguo 25/07/2012, 11:28
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Pregunta Recoger cadena entre caracteres

Hola a todos !!
Estoy dándole vueltas pero no consigo hacer lo siguiente.
Quiero que en la siguiente cadena, guardar en variable lo que hay entre las tuberias:| pepe |

Si tengo la siguiente cadena: En el monte me encontre a |pepe| con un sombrero.
Quiero guardar en $var la palabra: pepe (sin las tuberias)

¿Como se puede conseguir eso?
Saludos !!
  #2 (permalink)  
Antiguo 25/07/2012, 11:45
Avatar de exitoso23487  
Fecha de Ingreso: enero-2009
Mensajes: 49
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Recoger cadena entre caracteres

Buenas quizás este entendiendo mal, sin embargo si estas seguro que la cadena se encontrará sólo una vez, lo pudieses trabajar haciendo un explode con el carácter "|" a la cadena que mencionas.
Por otro lado también lo podrías plantear a través de expresiones regulares, con el preg_match.
Espero te sirva.
  #3 (permalink)  
Antiguo 25/07/2012, 11:55
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Recoger cadena entre caracteres

OK Gracias !!
Ya lo he conseguido con strlen, strpos y substr.

Saludos !!
  #4 (permalink)  
Antiguo 25/07/2012, 12:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Recoger cadena entre caracteres

Es más sencillo con preg_match:
Código PHP:
Ver original
  1. <?php
  2. $cadena = "En el monte me encontre a |pepe| con un sombrero.";
  3. preg_match('/\|(\w+)\|/i', $cadena, $matches);
  4. echo $matches[1];

Etiquetas: cadenas, tuberias
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 06:30.