Foros del Web » Programando para Internet » PHP »

Ayuda con preg_match_all()

Estas en el tema de Ayuda con preg_match_all() en el foro de PHP en Foros del Web. Hola! Nose si alguien conoce la funcion preg_match_all() (supongo que si). Pues la susodicha me esta jodiendillo, no entiendo muy bien los patrones y con ...
  #1 (permalink)  
Antiguo 01/07/2005, 14:05
 
Fecha de Ingreso: julio-2005
Mensajes: 36
Antigüedad: 12 años, 5 meses
Puntos: 0
Ayuda con preg_match_all()

Hola!

Nose si alguien conoce la funcion preg_match_all() (supongo que si). Pues la susodicha me esta jodiendillo, no entiendo muy bien los patrones y con la ayuda de PHP no me queda claro del todo.

Lo que quiero conseguir es extraer una serie de palabras dada una cadena, la cadena seria por ejemplo: "{%pepe} cachis diez ole {%joan} {%}" y quisiera extraer las palabras que esten entre {% y } es decir en este caso seria <<pepe>> y <<joan>>.

Pues esto es, creo que me he explicado bien, si alguien lo sabe que me lo diga ¡porfi!
  #2 (permalink)  
Antiguo 01/07/2005, 14:30
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Bueno, sin complicarme mucho, te pude armar algo:
Código PHP:
<?php
function sacar($str) { 
preg_match_all("/{+%{1}([a-z0-9]+)}{1}/i",$str,$out); 
return 
$out;
}
Por ejemplo, este texto:
Código PHP:
 <?php 
$texto
="este es mi texto para {%joan} y {%pepe}"
?>
Te dara un vector, con las coincidencias originales, y las que de out, o sea, haciendo:
Código PHP:
 <?php
print_r
(sacar($texto));
?>
Tendrías algo como:
Código PHP:
 <?php
Array ( [0] => Array ( [0] => {%joan} [1] => {%pepe} ) [1] => Array ( [0] => joan [1] => pepe ) ) ?>
Espero te sirva.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 02/07/2005, 00:58
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
También podría ser así:

preg_match_all("/\{%(\w+)?\}/i",$str,$out);

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 21:51.