Templates

veränder mal die funktion hier hin:
PHP:
      function assign($searchString,$key=false)
      {
          if(is_array($searchString))
          {
              foreach($searchString as $var => $key)
              {
                  $search = $this->delimiterStart.$key.$this->delimiterEnd;
                  $replace = $var;
                  $this->template_file = str_replace($search,$replace,$this->template_file);
              }
          }
          else
          {
            //lala
          }
          return $this->template_file;
      }
 
nur so

das hier
PHP:
      function assign($searchString,$key=false)
      {
          if(is_array($searchString))
          {
              foreach($searchString as $var => $key)
              {
                  $search = $this->delimiterStart.$var.$this->delimiterEnd;
                  $replace = $key;
                  $this->template_file = str_replace($search,$replace,$this->template_file);
              }
          }
          else
          {
              $search = $this->delimiterStart.$searchString.$this->delimiterEnd;
              $replace = $key;
              $this->template_file = str_replace($search,$replace,$this->template_file);
          }
          return $this->template_file;
      }

is richtig und geht bei deiner variante ersetz er nur noch wenn kein array da ist alles sonst nichts ... und das ist auch net das problem
er gibt es einfach nicht den block was weiss ich warum , danke trotzdem
 
Ich hab das mal so gemacht:

Funktion1(suchstring, array):
durchsucht das Array nach einer bestimmten Zeile (zuvor mit trim bearbeitet) und gibt die Position im Array zurück

Funktion2(beginnzeile, endzeile, array)
Gibt ein Array zurück, das von der beginnzeile zur endzeile des array geht.

und demensprechend sieht dann der rest aus:

$beginblockpos = 1.Funktion("<!--BEGIN BLOCK-->", $array);
$endblockpos = 2.Funktion("<!--END BLOCK-->", $array);

$start = Funktion1(0, $beginblock, $array);
$block = implode("", 2.Funcktion($beginblock, $endblock, $array));
$end = Funcktion2($endblock, count($array), $array);

echo implode("", $start);
for ($i=0, $i<$x, $i++) {
$block = str_replace("{var1}", $irgendwas, $block);
$block = str_replace("{var2}", $irgendwas2, $block);
echo $block2
}
echo implode("", $end);
 
Zurück