template in template???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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!

    Comment


    • #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

      Comment


      • #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;
        }



        ?>

        Comment


        • #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

          Comment


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

            Comment


            • #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 !
              Last edited by 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

              Comment


              • #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
                Last edited by tobi1986m; 29-06-2003, 17:19.

                Comment


                • #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

                  Comment


                  • #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>

                    Comment


                    • #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

                      Comment


                      • #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!

                        Comment


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

                          Comment


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

                            Comment


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

                              Comment


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

                                Comment

                                Working...
                                X