online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Fassy91 vom 28.03.2020, 23:16 Options

eregi_replace mit function ?

Hallo,

ich hab ein Problem. Ich möchte eine kleine Template Engine bauen. In den Dateien soll das includen von anderen Dateien möglich sein.

Der Befehl dazu sieht in der Template Datei so aus :

<!--INCLUDE 'overall_header.html'-->


Nun möchte ich das durch ein eregi_replace durch den inhalt der Datei erstezen. Das habe ich mir so vorgestellt :

eregi_replace("\<!--INCLUDE '(.*)'-->",$this->getcontent("\\1"),$this->htmldata);


dies geht aber leider net so wie ich mir das dachte.

Hier nochmal die ganze Klasse in der Übersicht :

<?php
//Template Engine (class.template.php) v1.00

class template
   {
   var $htmldata = "";
   var $styledir = "style/";
   
   function template($file)
      {
      $fileopen = fopen($this->styledir.$file,"r");
      $this->htmldata = fread($fileopen,filesize($this->styledir.$file));
      fclose($fileopen);
      $this->parse();
      }
      
   function parse()
      {
      $temp = eregi_replace("\<!--INCLUDE '(.*)'-->",$this->getcontent("\\1"),$this->htmldata);
      print($temp);
      }
      
   function getcontent($file)
      {
      $fileopen = fopen($this->styledir.$file,"r");
      $return = fread($fileopen,filesize($this->styledir.$file));
      fclose($fileopen);
      return $return;
      }
   }
?>


Ich hoffe ihr könnt mir helfen.

mfg
Remon


Antwort schreiben

Antwort 1 von Fassy91 vom 29.03.2020, 22:42 Options

ok habs anders gelöst :

//Includes die vom Template kommen
      $temp = preg_match_all("/<!--INCLUDE '[a-zA-Z]'-->/",$this->htmldata,$regs);
      $i = 0;
      foreach($regs AS $file)
         {
         if ($i != 0 AND $last != $file)
            {
            $this->htmldata = str_replace("<!--INCLUDE '{$file}'-->",$this->getcontent($file),$this->htmldata);
            $last = $file;
            }
         $i++;
         }
      unset($regs);
      unset($temp);


Aber ich hab ein Problem mit dem Reg Ex :
$temp = preg_match_all("/<!--INCLUDE '[a-zA-Z]'-->/",$this->htmldata,$regs);

Kann mir da einer helfen ?

Ähnliche Themen

Probleme mit eregi-replace() (Badword-Filter)
Pagestylist  30.03.2007 - 61 Hits - 2 Antworten

Fehler beim Einbinden einer Fortran dll in C++
c++progr  25.08.2007 - 39 Hits - 1 Antwort

Kleines Problem mit DOM und FireFox
Dr.Ma-Busen  03.12.2007 - 59 Hits - 3 Antworten

Javascript und Entertaste
wurzelpeter  21.06.2008 - 51 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026