template in template???

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

  • #16
    z.B. hier:
    http://www.php-resource.de/tutorials/read/26/1/
    oder hier gucken:
    http://www.php-resource.de/tutorials/

    oder bei google suchen
    hopka.net!

    Kommentar


    • #17
      jetzt in der html guckt was in der klammer {} steht und wenn im script das selbe was in der klammer steht nur als variable dann wei er aha das muss ich jetzt damit ersetzen oder weist du wie
      PHP-Code:
      $pattern="/\{(.*?)\}/";
      preg_match_all($pattern,$template,$erg);
      reset($erg[1]);
      while (list(
      $key,$val)=each($erg[1]))
      {
          if (isset($
      $val))
              
      $template=str_replace($erg[0][$key],$$val,$template);


      done
      H I L F E
      GD FreeType Antialising
      Gesuch PHP Entwicklungsumgebung
      ------------------------------------------
      Der Cmabrigde rael tset, sruf whoin du wlilst

      Kommentar


      • #18
        geht nicht wo muss ich das hier hinsetzen?

        PHP-Code:
        <?PHP

        function template($templatedatei
        {


        $templateendung "htm";
        $templatefolder "template";

        $templateausgabe implode("",file($templatefolder."/".$templatedatei.".".$templateendung));


        echo 
        $templateausgabe;
        }



        ?>

        Kommentar


        • #19
          Das Forum hat mal wieder die Backslashes weggemacht :-(

          PHP-Code:

          <?PHP

          function template($templatedatei
          {


          $templateendung "htm";
          $templatefolder "template";

          $templateausgabe implode("",file($templatefolder."/".$templatedatei.".".$templateendung));

          $pattern="/\\{(.*?)\\}/";
          preg_match_all($pattern,$templateausgabe ,$erg);
          reset($erg[1]);
          while (list(
          $key,$val)=each($erg[1]))
          {
              if (isset($
          $val))
                  
          $templateausgabe =str_replace($erg[0][$key],$$val,$templateausgabe );

          }


          echo 
          $templateausgabe;
          }



          ?>
          So sollte es vom Prinzip her funktionieren, wenn nicht muss man noch was an den pattern feilen

          rth
          H I L F E
          GD FreeType Antialising
          Gesuch PHP Entwicklungsumgebung
          ------------------------------------------
          Der Cmabrigde rael tset, sruf whoin du wlilst

          Kommentar


          • #20
            ne geht net und wenn ich was daran $pattern="/\{(.*?)\}/"; änder bekomm ich fehlermeldung

            Kommentar


            • #21
              schon ein bisschen fehlerdebbuging propiert z.b ein
              PHP-Code:
              var_dump($erg); 
              nach dem preg_match_all , um zu sehen was überhaupt gematscht wird?
              oder mal ein
              PHP-Code:
              echo "<br> $key = $val"
              in die while schleife gepackt, um zu sehen was da abgeht ?

              rth

              pp

              PHP-Code:
              <?

              $template="Hallo ich bin {name} und arbeite als {arbeit}";

              echo "<br> Template: $template";

              $name="Robert The Hero";

              $arbeit="Entwickler";

              $pattern="/\\{(.*?)\\}/";
              preg_match_all($pattern,$template,$erg);
              var_dump($erg);
              reset($erg[1]);
              while (list($key,$val)=each($erg[1]))
              {
                  if (isset($$val))
                      $template=str_replace($erg[0][$key],$$val,$template);

              }

              echo "<br> Ersetzt: $template";

              ?>
              ich habs jetzt auch mal ausprobiert, es klappt !
              Zuletzt geändert von RobertTheHero; 29.06.2003, 17:11.
              H I L F E
              GD FreeType Antialising
              Gesuch PHP Entwicklungsumgebung
              ------------------------------------------
              Der Cmabrigde rael tset, sruf whoin du wlilst

              Kommentar


              • #22
                jetzt raf ich garnix mehr das ist doch total das selbe???
                und jetzt zeig der mir 1. was an was da garnet setehn soll und das {test} ersetzt er trozdem net
                Zuletzt geändert von tobi1986m; 29.06.2003, 17:19.

                Kommentar


                • #23
                  Sag mal vielleicht solltest du erstmal posten, was du nicht verstehst !

                  PHP-Code:
                  <?

                  $template="Hallo ich bin {name} und arbeite als {arbeit}";

                  echo "<br> Template: $template";

                  $name="Robert The Hero";

                  $arbeit="Entwickler";

                  $pattern="/\\{(.*?)\\}/";
                  preg_match_all($pattern,$template,$erg);
                  var_dump($erg);
                  reset($erg[1]);
                  while (list($key,$val)=each($erg[1]))
                  {
                      if (isset($$val))
                          $template=str_replace($erg[0][$key],$$val,$template);

                  }

                  echo "<br> Ersetzt: $template";

                  ?>
                  ist keinesfalls genau dasselbe wie zuvor. Es soll dir lediglich demonstrieren das es so klappt.

                  Mach copy & paste in eine neue php-script datei und führe die dann aus.
                  Dann siehst du das es klappt !

                  Das er dein {test} nicht ersetzt liegt daran, das er in deiner Funktion keine variable $test gibt !!!!

                  PHP-Code:
                  if (isset($$val))
                          
                  $template=str_replace($erg[0][$key],$$val,$template); 
                  da wird geprüft ob die Variable existiert und nur dann ersetzt !!

                  PHP-Code:
                  if (isset($$val))
                          
                  $template=str_replace($erg[0][$key],$$val,$template);
                  else
                         echo 
                  "<br> Konnte $val nicht ersetzen da die Variable nicht existiert!"
                  das macht es dann deutlicher vielleicht.

                  rth
                  H I L F E
                  GD FreeType Antialising
                  Gesuch PHP Entwicklungsumgebung
                  ------------------------------------------
                  Der Cmabrigde rael tset, sruf whoin du wlilst

                  Kommentar


                  • #24
                    achso nein warte hier das ist meine index.php

                    PHP-Code:
                    <?PHP
                    include "template.php";

                    $test "blabla";

                    template(test);


                    ?>
                    das meine template.php

                    PHP-Code:
                    <?PHP

                    function template($templatedatei
                    {


                    $templateendung "htm";
                    $templatefolder "template";

                    $templateausgabe implode("",file($templatefolder."/".$templatedatei.".".$templateendung));

                    $pattern="/\{(.*?)\}/";
                    preg_match_all($pattern,$template,$erg);
                    var_dump($erg);
                    reset($erg[1]);
                    while (list(
                    $key,$val)=each($erg[1]))
                    {
                        if (isset($
                    $val))
                            
                    $template=str_replace($erg[0][$key],$$val,$template);

                    }


                    echo 
                    $templateausgabe;
                    }



                    ?>
                    und das hier ist meine test.htm die er ja läd

                    <html>
                    <head>
                    <title>$master_board_name - Beitrag editieren</title>
                    </head>

                    <body bgcolor="000000" text="ffffff">
                    {test}

                    </body>
                    </html>

                    Kommentar


                    • #25
                      wie schon gesagt in deiner Function template ist die variable test nicht bekannt !

                      Also entweder sorgst du dafür, dass alle Varibalen die im template ersetzt werden sollen in function template bekannt sind.

                      Oder du machst das parsen des templates, in deinem hauptscript, also nachdem du $test definierst.

                      rth
                      H I L F E
                      GD FreeType Antialising
                      Gesuch PHP Entwicklungsumgebung
                      ------------------------------------------
                      Der Cmabrigde rael tset, sruf whoin du wlilst

                      Kommentar


                      • #26
                        wenn du es in eine Funktion packst wird es auch nicht funktionieren, weil deine Variablen außerhalb der Funktion sind, und er sie deshalb innerhalb der funktion nicht kenn, ergo nicht ersetzt.
                        hopka.net!

                        Kommentar


                        • #27
                          die steht doch in der index.php $test = "blabla";

                          Kommentar


                          • #28
                            ach dann nehm ich eben diese fetten blöcke hab kein bock mehr auf diesen schei.....

                            Kommentar


                            • #29
                              template(test);
                              du meinst
                              PHP-Code:
                              template($test); 
                              oder?
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar


                              • #30
                                ja und datrüber steht auch $test = "blabla"; und das blabla soll der anstat {test} schreiben

                                Kommentar

                                Lädt...
                                X