Templates - PLatzhalter mehrmals ersetzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich brauche nochmal eure Hilfe, ich komme bei den Blöcken nicht weiter, kann mir vielleicht mal jemand eine Wortbeschreibung geben, wie ich vorgehen muss, ich möchte das so machen:
    [news]
    {titel}
    {icon}
    {text}
    [/news]

    Am Ende soll das rauskommen, z.B. durch eine while-Schleife:

    Testtitel1
    Icon1
    Text1

    Testtitel2
    Icon2
    Text2

    .
    .
    .

    Hat da jemand eine Idee, habe schon vieles versucht, hat aber alles nicht das erwünschte Ergebnis erbracht.

    Kommentar


    • #17
      Schaut euch mal bitte den Code an:
      PHP-Code:
      function b_einleiten($block_name$anzahl)
          {
              
      $muster "/\[$block_name\]([^]]*)\[\/$block_name\]/i";
              
      $this->block preg_match($muster$this->end$treffer);        // :TODO:
              
      $this->treffer=$treffer[0];
              
      $this->connect=$this->treffer;
          }
          
          function 
      b_virtuel($var_name$ersetz_name)            
      // "Virtuel" werden die Werte für den Platzhalter "gesammelt"
          
      {
              if(
      str_replace("{".$var_name."}"$ersetz_name$this->connect) == "")
              {
                  
      $this->complete=$this->connect;
                  
      $this->connect=$this->complete.str_replace("{".$var_name."}"
      $ersetz_name$this->treffer);
              }
              else
              {
                  
      $this->connect=$this->complete.str_replace("{".$var_name."}"
      $ersetz_name$this->treffer);
              }
          }
          
          function 
      b_ersetzen()
          {
              
      $this->end=str_replace("[$this->block_name]"""$this->complete);
              
      $this->end=str_replace("[/$this->block_name]"""$this->end);
              
      $this->end=str_replace($this->treffer$this->complete$this->end);
          } 
      Was habe ich da jetzt falsch gemacht? Es wird kein template ausgegeben.
      Zuletzt geändert von ; 04.02.2005, 16:57.

      Kommentar


      • #18
        Ich hoffe jemand kann mir jetzt helfen:
        PHP-Code:
        function b_einleiten($block_name)
            {
                
        $muster "/\[$block_name\]([^]]*)\[\/$block_name\]/i";
                
        $this->block preg_match($muster$this->end$treffer);        // :TODO:
                
        $this->treffer=$treffer[0];
                
        $this->connect=$this->treffer;
                
        $this->block_name=$block_name;
                
        $this->va2=$this->treffer;
            }
            
            function 
        b_virtuel($var_name$ersetz_name)            
        // "Virtuel" werden die Werte für den Platzhalter "gesammelt"
            
        {
                if(
        substr_count($this->va2$var_name) == 0)
                {
                    
        $this->va=$this->va2.str_replace("{".$var_name."}",
         
        $ersetz_name$this->connect);
                    
        $this->va2=$this->va;
                }
                else
                {
                    
        $this->va=str_replace("{".$var_name."}"
        $ersetz_name$this->va2);
                    
        $this->va2=$this->va;
                }
            }
            
            function 
        b_ersetzen()
            {
                
        $this->end=str_replace($this->treffer$this->va2$this->end);
                
        $this->end=str_replace("[$this->block_name]"""$this->end);
                
        $this->end=str_replace("[/$this->block_name]"""$this->end);
            } 
        Mein Problem, dass die erste Variable nicht ersetzt wird, beim letzten Wiederholen, Beispiel:
        Code:
        ----------
        Testtitel0
        
        Icon0
        
        Text0
        ----------
        
        ----------
        Testtitel2
        
        Icon1
        
        Text1
        ----------
        
        {titel}
        Icon2
        
        Text2
        ----------
        Woran kann das liegen?

        Kommentar

        Lädt...
        X