Template Klasse - Rekursiv Pattern

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

  • #16
    es geht auch um den lerneffekt beim schreiben, daher werde ich auch meine eigene template klasse schreiben...


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #17
      Original geschrieben von rythms
      Ich verstehe nicht, warum du nicht meine Klasse benutzen willst wenn du fast identisch das gleiche baust?
      Warum werden überhaupt noch Template Enigines gebaut... Es gibt alleine in Pear schon drei und zig andere...
      Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
      PHP Sicherheit
      PHPUnit[1-2]
      Professionelle Softwareentwicklung mit PHP 5
      Professionelle PHP 5-Programmierung

      Kommentar


      • #18
        Original geschrieben von rythms
        Ich verstehe nicht, warum du nicht meine Klasse benutzen willst wenn du fast identisch das gleiche baust?
        Weil ich einige Funktionen darin nicht brauche, dafür welche brauche, die nicht in deiner Klasse sind.
        Und ich will da nicht drin rumwerkeln.
        Außerdem würde ich wie schon gesagt wurde, gerne dazulernen.

        @schlimmerfinger: Das könntest du in vielen threads hier im Forum sagen. Ich habe Spass beim erstellen von Klassen etc. und kann nachher auch sagen, dass ich die gemacht habe. Ob es nun schon welche gibt ist doch egal. Wie viele Gästebücher, Foren, CM Systeme gibt es schon, und trotzdem werden dauernd neue geschrieben.

        Kommentar


        • #19
          aber es scpricht nichts dagegen, wenn du versuchst die block-funktion von irgend einer klasse nachzuvollziehen. das ganze nochmals erklären wird dir vermutlich niemand.

          nu soviel

          preg_match zum suchen der platzhalter (egal ob str oder block)

          preg_replace zum umwandeln der blocks in normale platzhalter

          str_replace zum ersetzen

          Kommentar


          • #20
            @Oli Warum nimmst du dann nicht die Engine von rythms und erweiterst sie dann. Es hat den gleichen lerneffeckt, wenn nicht noch ein grösseren.
            Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
            PHP Sicherheit
            PHPUnit[1-2]
            Professionelle Softwareentwicklung mit PHP 5
            Professionelle PHP 5-Programmierung

            Kommentar


            • #21
              @Oli Warum nimmst du dann nicht die Engine von rythms und erweiterst sie dann. Es hat den gleichen lerneffeckt, wenn nicht noch ein grösseren.
              da wäre ich mir aber auch nicht sicher. jetzt lasst ihn doch einfach machen...

              ich hab auch meine eigene klasse, die im gegensatz zu den meisten anderen das template erst parst, wenn es nötig ist.

              Kommentar


              • #22
                Original geschrieben von schlimmerfinger
                @Oli Warum nimmst du dann nicht die Engine von rythms und erweiterst sie dann. Es hat den gleichen lerneffeckt, wenn nicht noch ein grösseren.
                Weil ich diese engine später vielleicht einmal für irgendwelche scripte nutzen will, die ich auch zum Download anbiete. Da mag ich keine fremden copyrights, und rausnehmen will ich die natürlich auch nicht.

                @TobiaZ: Hm, ja, inzwischen hab ich es glaub ich verstanden.

                Weil ich unntötige Funktionen sparen will, hab ich es mit create_function versucht:

                PHP-Code:
                $values $this->values;
                    
                $pattern '°'.preg_quote($this->open,'°').'(.*)'.preg_quote($this->close,'°').'°i';
                $string preg_replace_callback($pattern,create_function('$key','{global $values; return $values[$key];}'),$string); 
                Leider gibt die kreierte Funktion nichts zurück... :/ (Lasse ich die { } und das global weg, kommt auch nichts.

                Kommentar


                • #23
                  wenn die Klasse von rythmus (oder so) zumindest funktionieren würde ... mein Post bei seiner Klasse wird ignorier ... und in ICQ antwortet er auch nicht ...

                  ich "muss" auch andauernd support für meine scripte geben, und tuhe das auch nicht immer so gerne, aber ich weiss das ich anderen helfe.

                  Also, bitte melde dich mal bei mir ! (162424599)

                  Kommentar


                  • #24
                    das template erst parst, wenn es nötig ist.
                    häh? wieso sollte man parsen, wenn es nicht nötig ist? meinst du wenn - zeitlich, zu dem zeitpunkt - oder falls, falls es nötig ist?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #25
                      /edit: Oh, dummer Fehler... sry.
                      Einen augenblick, post folgt gleich.
                      Zuletzt geändert von OliOli; 13.10.2004, 17:09.

                      Kommentar


                      • #26
                        zeitlich natürlich. nehme rücksicht auf den arbeitsspeicher

                        Kommentar


                        • #27
                          ok, sorry dass ich euch weiter zur Last falle, aber ich hab grad extreme Probleme mit einem preg_replace.

                          PHP-Code:
                          <?php
                          $pattern 
                          '/'.preg_quote($this->open,'/').'array name=(.*?)'.preg_quote($this->close,'/').'(.*?)'.preg_quote($this->open,'/').'\/array'.preg_quote($this->close,'/').'/iU';

                          $string preg_replace($pattern,'[\\1] UND [\\2]<br>',$string);
                          ?>
                          So sieht der code aus.
                          Pattern enthält, wenn ich es ausgeben lasse:
                          Code:
                          /\{array name=(.*?)\}(.*?)\{\/array\}/iU
                          Als $string fungiert:
                          Code:
                          <html><head>
                          <title>{title}</title>
                          </head><body>{Inhalt}<br \>
                          {array name=tier} {name} ist ein {art} {/array}
                          </html>
                          Das Ergebnis ist nicht das, was ich erwarte, sondern folgendes:
                          [tier} ist ein {art] UND [ ]

                          Ich hab schon mehrere Leute gefragt, aber der pattern müsste einwandfrei sein, den Fehler hat keiner gefunden....
                          Ihr könnt mir sicher weiterhelfen.

                          MfG Oli

                          Kommentar


                          • #28
                            /\{array name=([^\}]?)\}(.*?)\{\/array\}/iU
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #29
                              Das geht nicht, zumal ich den regexp auch nicht so ganz verstehe...
                              Jetzt trifft das Suchmuster nicht mehr auf den String zu.
                              Bei mir hats das immerhin...

                              Kommentar


                              • #30
                                dann so

                                /\{array name=([^\}]+)\}(.*?)\{\/array\}/iU

                                zu testen unter http://tbt.dyndns.org/regtest/regtest.php
                                TBT

                                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                                1. Verrate niemals alles was du weißt!


                                PHP 2 AllPatrizier II Browsergame

                                Kommentar

                                Lädt...
                                X