Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/12/2011, 02:47
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 9 meses
Puntos: 326
Respuesta: Sistema Template

En vez de usar dos explodes, podrías usar un preg_match_all, no?

Código PHP:
public function _parse_include() 
    { 
        
$this->content file_get_contents('templates/default/index.tpl'); 
                         
        if(
strchr($this->content'#include')) { 
                         
           
preg_match_all('/#include {(.*?)};/',   $this->content$object_pieces);        
             
           foreach( 
$object_pieces[1] as $piece) {
                    if(
file_exists(self::$_path.$piece)): 
                       include(
self::$_path.$piece); 
                    else: 
                         
Exclusion::make("Canst not include the file: {$piece}"303); 
                    endif; 
           }
              
             
           
        }         
    } 

Intento explicarme:

preg_match_all creará, en $object_pieces, algo así:
Código:
array (
  0 => 
  array (
    0 => '#include {prueba.tpl};',
    1 => '#include {xD.tpl};',
  ),
  1 => 
  array (
    0 => 'prueba.tpl',
    1 => 'xD.tpl',
  ),
)
Por ejemplo (habiendo puesto otro include). Asi pues, el foreach lo haces del $object_pieces[1], q es donde están los resultados... y luego vas haciendo los includes (pq guardarlo en una variable, y no añadirlos directamente?).

Creo q es algo así lo q buscas :)
__________________
>> Eleazan's Source
>> @Eleazan