Foros del Web » Programando para Internet » PHP »

Problemas con Regexp

Estas en el tema de Problemas con Regexp en el foro de PHP en Foros del Web. Hola a todos , tengo la siguiente duda , necesito desarollar un sistema que cuando en una cadena reconosca esto " {include.nombrefichero} " me incluya ...
  #1 (permalink)  
Antiguo 24/08/2008, 20:49
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 17 años, 9 meses
Puntos: 2
Problemas con Regexp

Hola a todos , tengo la siguiente duda , necesito desarollar un sistema que cuando en una cadena reconosca esto " {include.nombrefichero} " me incluya el fichero cuyo nombre esta espeficiado despues del include. , nose si me explico.

tenia la idea de obtener el html con file_get_contents , lo meto en un buffer y ahi me trabo como puedo obtener y procesar la partecita que indicaria el nombre fichero .

mi idea en php maso es asi:

Código PHP:
<?php 
function include_o($name){
include(
$name);
}
y la duda es como paso dentro del regexp el nombre xq lo teorico seria assi

$buffer=preg_replace_all("/{include.(.*)}/",funcion que reemplaza( y aca como saco el nombrefichro para pasarselo a la funcion dicha?,$matches);

Saludos , espero no haberlos confundido.
  #2 (permalink)  
Antiguo 24/08/2008, 22:25
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con Regexp

Y si usas preg_match_all()?

Código PHP:
preg_match_all("|\{include\.(.+?)\}|is"$str$m); 
$m[1] será un array que contenga los nombres de los archivos que debes incluir. Bastará con recorrer ese array para incluir cada archivo.

Saludos,

Última edición por okram; 24/08/2008 a las 22:44
  #3 (permalink)  
Antiguo 24/08/2008, 22:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con Regexp

esta muy claro lo que quieres.... pero, se te olvido leer mas el manual de PHP, sobre todo porque no solo existen funciones de "replace" para usarlas con regex, también hay funciones de "matching"

Código PHP:
preg_match_all('/\{include\.(.+?)\}/'$cadena_de_texto$tests);

print_r($tests); 
esto nos devolvería como primer indice (no el cero), la parte del nombre que mismo solicitas...
Código PHP:
echo $tests[1]; 
PDTA: te sugiero, leas de nuevo al manual cuando creas que no existen mas funciones y documentación, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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:43.