Foros del Web » Programando para Internet » PHP »

Ayuda, preg_replace

Estas en el tema de Ayuda, preg_replace en el foro de PHP en Foros del Web. Buenas, necesito ayuda con las expresiones regulares, la verdad es q no se me dan muy bien. Quisiera hacer lo siguiente: Tengo una funcion q ...
  #1 (permalink)  
Antiguo 13/07/2005, 16:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Ayuda, preg_replace

Buenas, necesito ayuda con las expresiones regulares, la verdad es q no se me dan muy bien.

Quisiera hacer lo siguiente:

Tengo una funcion q me coge un cacho de codigo y me lo devuelve como un bloque.
Código PHP:
    function CreaBloque($nom)
    {
        
$blockName $this->izq."block: ".$nom.$this->der;
        
$blockEndName $this->izq."/block: ".$nom.$this->der;
        
$ini strpos($this->output,$blockName)+strlen($blockName);
        
$fin strpos($this->output,$blockEndName);
        return 
substr($this->output,$ini,($fin-$ini));

    } 
Luego tengo una variable donde alojo los valores a ser reemplazados con la estructura siguiente:

$this->blkvar[$nombreBloque];

y los reemplazo con la siguiente funcion
Código PHP:
    function RepiteBloque($nom,$content)
    {
        
$fin ='';
        foreach(
$this->blkvar[$nom] as $v1
        {
        
$tmp $content;
          foreach (
$v1 as $nom=>$val
          {
              
$nom $this->izq.$nom.$this->der;
            
$tmp =str_replace($nom,$val,$tmp);
            }
        
$fin .= $tmp;
        }
        return 
$fin;
    } 
y ya por ultimo, cambio el bloque modificado al texto original con la siguiente funcion.

Código PHP:
    function CambiaBloque($nom$content)
    {
        
$blockName $this->izq."block: ".$nom.$this->der;
        
$blockEndName $this->izq."/block: ".$nom.$this->der;
        
$ini strpos($this->output,$blockName);
        
$fin strpos($this->output,$blockEndName)+strlen($blockEndName);
        
$bloq substr($this->output,$ini,($fin-$ini));
        return 
str_replace ($bloq$content$this->output);
    } 
La idea seria utilizar expresiones regulares, para mejorar el rendimiento, ya q el bucle dentro de otro bucle, me da muy mala impresion.

Necesitaria q alguien me encaminara explicandome como funciona el preg_replace por q en la pagina php.net no queda muy claro (quizas sea mi coco q no llega :D).

Gracias.
__________________
SymbianForever
SymbianForever.com, todo sobre y para tu symbian
aNieto2K | Themes para WordPress
De todo un poco
  #2 (permalink)  
Antiguo 13/07/2005, 17:59
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 18 años, 8 meses
Puntos: 1
Mira man he visto tu proyecto y te felicito espero tengas exito con el :D

aca te paos una excelente pagina que habla sobre expresiones regulares son 7 paginas que hablan sobre odas las estructuras de una expresion regular su uso y wow de veras es muy bueno al final viene una herramienta que se ve a leche

http://www.ignside.net/man/php/regex.php

espero serte de ayuda para que tu proyecto salga adelante ;)
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 10:41.