HTML in PHP-Syntax einbetten - Programm gesucht

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

  • HTML in PHP-Syntax einbetten - Programm gesucht

    Hiho, ich suche ein Programm oder sowas, dass mir HTML in PHP-Syntax einbettet. Das ganze ist eigentlich ja kein Problem, jedoch is es doch schon nen bisser ätzend, wenn man ganze Templates und Layout erst in HTML hinbastelt und dann mit echo und dem escapen der Sonderzeichen in die PHP-Syntax stecken muss. Ich schreibe die Seite somit eigentlich immer zweimal. Einmal zum hin und her schieben und ausprobieren des nackten HTML und dann nochmal umgeschrieben mit den escapeten Anführungszeichen, den Variablen usw.

    Hat da wer nen Tipp auf Lager, ob es nen Programm gibt, das sowas erledigen kann?

    Oder macht ihr es von Anfang an anders?

    Ich bin für jede Hilfe dankbar

  • #2
    gesuche zu den gesuchen!

    *VERSCHIEB*
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Weshalb nicht...

      eine Template-Engine verwenden? Da
      brauchst auf keinen Fall mehr ein echo oder n print...

      http://smarty.php.net

      Fette Greetz vom Chris
      Zuletzt geändert von coarsy; 25.05.2004, 20:27.

      Kommentar


      • #4
        Mhh, ne Template Engine? Ich hab zwar keine Ahnung was das ist aber ich werds mir ma anschauen

        Nochma zur erläuterung des Problems:

        Gesucht wird ein Programm, das mir aus:

        PHP-Code:
            <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=1024 NOF=LY>
                <
        TR VALIGN=TOP ALIGN=LEFT>
                    <
        TD HEIGHT=87 WIDTH=900></TD>
                    <
        TD HEIGHT=87>
                    
                <
        input class="eingabe2"  type="text" size="14" maxlength="10" name="username" value="Benutzername">
                <
        br>
                <
        input class="eingabe2"  type="password" size="14" maxlength="10" name="passwort" value="1234">
                <
        br>
                <
        input class="eingabe2" type="submit" value="Login" name="submit">

        </
        TD>
                </
        TR>
                <
        TR VALIGN=TOP ALIGN=LEFT>
                    <
        TD HEIGHT=59 WIDTH=560 colspan=2>
                        <
        TABLE ID="Navigationsleiste1" BORDER=0 CELLSPACING=0 CELLPADDING=0 NOF=NB_UYHPNY120 WIDTH=560>
                            <
        TR VALIGN=TOP ALIGN=LEFT>
                                <
        TD WIDTH=112><A HREF="./body_index.html" TARGET="Haupttext" onMouseOver="F_roll('Navigationsschaltflaeche1',1)" onMouseOut="F_roll('Navigationsschaltflaeche1',0)"><IMG ID="Navigationsschaltflaeche1" NAME="Navigationsschaltflaeche1" HEIGHT=59 WIDTH=112 SRC="./golfhome_sw.gif" onLoad="F_loadRollover(this,'golfhome_f.gif',0)" BORDER=0 ALT="./body_index.html" TITLE="./body_index.html"></A></TD>
                                <
        TD WIDTH=112><A HREF="reisen.html" TARGET="Haupttext" onMouseOver="F_roll('Navigationsschaltflaeche2',1)" onMouseOut="F_roll('Navigationsschaltflaeche2',0)"><IMG ID="Navigationsschaltflaeche2" NAME="Navigationsschaltflaeche2" HEIGHT=59 WIDTH=112 SRC="./golfr_sw.gif" onLoad="F_loadRollover(this,'golfr_f.gif',0)" BORDER=0 ALT="reisen.html" TITLE="reisen.html"></A></TD>
                                <
        TD WIDTH=112><A HREF="gvalley.html" TARGET="Haupttext" onMouseOver="F_roll('Navigationsschaltflaeche3',1)" onMouseOut="F_roll('Navigationsschaltflaeche3',0)"><IMG ID="Navigationsschaltflaeche3" NAME="Navigationsschaltflaeche3" HEIGHT=59 WIDTH=112 SRC="./gvalley_sw.gif" onLoad="F_loadRollover(this,'gvalley_f.gif',0)" BORDER=0 ALT="gvalley.html" TITLE="gvalley.html"></A></TD>
                                <
        TD WIDTH=112><A HREF="geldo.html" TARGET="Haupttext" onMouseOver="F_roll('Navigationsschaltflaeche4',1)" onMouseOut="F_roll('Navigationsschaltflaeche4',0)"><IMG ID="Navigationsschaltflaeche4" NAME="Navigationsschaltflaeche4" HEIGHT=59 WIDTH=112 SRC="./golfeldo_sw.gif" onLoad="F_loadRollover(this,'golfeldo_f.gif',0)" BORDER=0 ALT="eldorado.html" TITLE="eldorado.html"></A></TD>
                                <
        TD WIDTH=112 HEIGHT=59><A HREF="inhalt.htm" TARGET="Haupttext" onMouseOver="F_roll('Navigationsschaltflaeche5',1)" onMouseOut="F_roll('Navigationsschaltflaeche5',0)"><IMG ID="Navigationsschaltflaeche5" NAME="Navigationsschaltflaeche5" HEIGHT=59 WIDTH=112 SRC="./golfclubs_sw.gif" onLoad="F_loadRollover(this,'golfclubs_f.gif',0)" BORDER=0 ALT="inhalt.htm" TITLE="inhalt.htm"></A></TD>
                            </
        TR>
                        </
        TABLE>
                    </
        TD>
                </
        TR>
            </
        TABLE
        Das hier macht

        PHP-Code:
        $menue "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=1024 NOF=LY>\n
                  <TR VALIGN=TOP ALIGN=LEFT>\n
                    <TD HEIGHT=87 WIDTH=900>\n
                    </TD>\n
                    <TD HEIGHT=87>\n
                    
                <input class=\"eingabe2\"  type=\"text\" size=\"14\" maxlength=\"10\" name=\"username\" value=\"Benutzername\">\n
                <br>\n
                <input class=\"eingabe2\"  type=\"password\" size=\"14\" maxlength=\"10\" name=\"passwort\" value=\"1234\">\n
                <br>\n
                <input class=\"eingabe2\" type=\"submit\" value=\"Login\" name=\"submit\">\n

        </TD>\n
                </TR>\n
                <TR VALIGN=TOP ALIGN=LEFT>\n
                    <TD HEIGHT=59 WIDTH=560 colspan=2>\n
                        <TABLE ID=\"Navigationsleiste1\" BORDER=0 CELLSPACING=0 CELLPADDING=0 NOF=NB_UYHPNY120 WIDTH=560>\n
                            <TR VALIGN=TOP ALIGN=LEFT>\n
                                <TD WIDTH=112><A HREF=\"./body_index.html\" TARGET=\"Haupttext\" onMouseOver=\"F_roll('Navigationsschaltflaeche1',1)\" onMouseOut=\"F_roll('Navigationsschaltflaeche1',0)\"><IMG ID=\"Navigationsschaltflaeche1\" NAME=\"Navigationsschaltflaeche1\" HEIGHT=59 WIDTH=112 SRC=\"./golfhome_sw.gif\" onLoad=\"F_loadRollover(this,'golfhome_f.gif',0)\" BORDER=0 \"./body_index.html\" TITLE=\"./body_index.html\"></A></TD>\n
                                <TD WIDTH=112><A HREF=\"reisen.html\" TARGET=\"Haupttext\" onMouseOver=\"F_roll('Navigationsschaltflaeche2',1)\" onMouseOut=\"F_roll('Navigationsschaltflaeche2',0)\"><IMG ID=\"Navigationsschaltflaeche2\" NAME=\"Navigationsschaltflaeche2\" HEIGHT=59 WIDTH=112 SRC=\"./golfr_sw.gif\" onLoad=\"F_loadRollover(this,'golfr_f.gif',0)\" BORDER=0 ALT=\"reisen.html\" TITLE=\"reisen.html\"></A></TD>\n
                                <TD WIDTH=112><A HREF=\"gvalley.html\" TARGET=\"Haupttext\" onMouseOver=\"F_roll('Navigationsschaltflaeche3',1)\" onMouseOut=\"F_roll('Navigationsschaltflaeche3',0)\"><IMG ID=\"Navigationsschaltflaeche3\" NAME=\"Navigationsschaltflaeche3\" HEIGHT=59 WIDTH=112 SRC=\"./gvalley_sw.gif\" onLoad=\"F_loadRollover(this,'gvalley_f.gif',0)\" BORDER=0 ALT=\"gvalley.html\" TITLE=\"gvalley.html\"></A></TD>\n
                                <TD WIDTH=112><A HREF=\"geldo.html\" TARGET=\"Haupttext\" onMouseOver=\"F_roll('Navigationsschaltflaeche4',1)\" onMouseOut=\"F_roll('Navigationsschaltflaeche4',0)\"><IMG ID=\"Navigationsschaltflaeche4\" NAME=\"Navigationsschaltflaeche4\" HEIGHT=59 WIDTH=112 SRC=\"./golfeldo_sw.gif\" onLoad=\"F_loadRollover(this,'golfeldo_f.gif',0)\" BORDER=0 ALT=\"eldorado.html\" TITLE=\"eldorado.html\"></A></TD>\n
                                <TD WIDTH=112 HEIGHT=59><A HREF=\"inhalt.htm\" TARGET=\"Haupttext\" onMouseOver=\"F_roll('Navigationsschaltflaeche5',1)\" onMouseOut=\"F_roll('Navigationsschaltflaeche5',0)\"><IMG ID=\"Navigationsschaltflaeche5\" NAME=\"Navigationsschaltflaeche5\" HEIGHT=59 WIDTH=112 SRC=\"./golfclubs_sw.gif\" onLoad=\"F_loadRollover(this,'golfclubs_f.gif',0)\" BORDER=0 ALT=\"inhalt.htm\" TITLE=\"inhalt.htm\"></A></TD>\n
                            </TR>\n
                        </TABLE>\n
                    </TD>\n
                </TR>\n
            </TABLE>\n "

        Ja, ich gebs zu, ich hab das mal eben mit NetObjects hingepfuscht

        Aber sowas wär halt ma ganz toll, ich muss mich da echt fies konzentrieren um nicht irgendwo ein " zu übersehen, vorallem wenn man sich sicher ist schon alles escaped zu haben und irgendwo eins übersehen hat.

        Kommentar


        • #5
          Hm, also wohl sowas hier in der Art:

          PHP-Code:
          <?php

          /**
           * A class for templates.
           * Filename: class.templates.php
           * Author: Christian Heinrich
           * (c) 2003 by solid-webworks.de
           * Letztes Update: 03.12.03
           **/
           

          class solid_template{

              var 
          $error "Template existiert nicht!";
              var 
          $file;
              var 
          $templatename;
              var 
          $template;
              var 
          $path "templates/";
              
              function 
          get$template$endung=".htm"){
              
                  
          $this->templatename "./".$this->path.$template.$endung;
                  
                  
          $this->file file($this->templatename);
                  
          $this->file implode(""$this->file);
                  
          $this->file addslashes($this->file);

                    if(! 
          file_exists($this->templatename)) return $this->error;

                    else 
                       return 
          $this->file;
                  
                }
                   
              
          /**
               * Use: $tpl = new template();
               * Desc: Reads a template and implodes the string
               * Get Templates with: $tpl->get( "upload" );
               **/
               
               
          function header$title$headerfile="header"){
                          global 
          $website_name;
               
                          eval(
          "\$website_name = \"".$website_name."\";");
                          eval(
          "\$title = \"".$title."\";");
                          
                          return eval(
          "\$this->output(\"".$this->get($headerfile)."\");");
                          }
               
              
          /**
               * Use: $tpl = new template();
               * Desc: Outputs a header with an optional title viewed in the browser
               * Output header with: $tpl->header("title of your page");
               **/
                         
               
          function footer$footerfile="footer" ){
               
                         return eval(
          "\$this->output(\"".$this->get($footerfile)."\");");
                         
                         }
               
               function 
          output$template ){
              
                  echo 
          $template;
              
                }
                
              
          /**
               * Use: $tpl->output(\"".$tpl->get( "upload" )."\");
               * Gets and prints the template.
               * If template is saved in a variable, use $tpl->output( $variabel );
               **/
          }
              
          ?>
          Ist ne super einfache Klasse, kann fast nix

          Code oben in ne Datei abspeichern, z.B. class.templates.php

          Dann musste n Objekt erstellen:

          PHP-Code:
          require("class.templates.php");
          $tpl = new solid_template();

          // Jetzt nehmen wir an, dein HTML-Code den du ausgeben willst
          // wird in der Datei html.htm gespeichert

          eval("\$tpl->output(\"".$tpl->get("html")."\");"); 
          Ganz nützlich wenn du mehrere Seiten in eine Seite bringen willst... mit $tpl->get("dateiname_OHNE_die_endung_htm") holst du dir das Template, mit $tpl->output gibst du es aus.

          Du kannst z.B. auch Platzhalter wie z.B.:

          Code:
          <html>
          <head>
          <title> $PLATZHALTER </title>
          [...]
          Damit ersetzen:

          PHP-Code:
          eval("\$PLATZHALTER = \"Titel meiner Seite!\";"); 
          Naja das mit dem Platzhaltern muss ich nochmal überarbeiten :P

          Aber damit ginge auch das " zu \" machen usw. weg...
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            Hey, das ist doch mal richtig cool.

            Und die Einzeldateien bleiben auch noch mit nem HTML-Editor aufrufbar, genau das richtige

            danke

            Kommentar


            • #7
              Auch nix Anderes :-)

              Hi nochmal! Das is im Endeffekt auch ne Template-Engine,
              wobei natürlich Smarty um einigs mächtiger ist ;-)

              Fette Greetz @ all from Chris!

              Kommentar


              • #8
                Was für einen Sinn soll es haben, komplette Tabellen-HTML-Befehle mit PHP auszugeben?

                Kommentar

                Lädt...
                X