Ankündigung

Einklappen
Keine Ankündigung bisher.

funktionsaufruf in preg_replace()

Einklappen

Neue Werbung 2019

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

  • funktionsaufruf in preg_replace()

    Hallo liebe Gemeinschaft,
    ich stehe komplett auf dem Schlauch. Bei dem versuch ein Templatesystem zu schreiben bin ich schon sehr weit gekommen.
    Nur zur zeit bin ich bei einem Punkt wo ich eine sache automatisiert laufen lassen will und nicht jede funktion von hand eintragen will. (auch pflegeleichter bei updates). und zwar schreibe ich in den skins z.B. {sys:siteTitle} und er soll dann aus der Klasse "sys die funktion "siteTitle" laden. ich habe
    PHP-Code:
    $tplFile  preg_replace("#{(.*):{.*)}#isU"$page->editor->$2(), $tplFile); 
    nur dann bekomme ich immer den Fehler.
    Parse error: syntax error, unexpected '1' (T_LNUMBER), expecting variable (T_VARIABLE) or '$' in #pfad# on line 22
    obwohl die variable bei meinem bbCode replacer funktionierte.
    was mache ich denn falsch? oder ist das die falsche funktion dafür?

    ich hoffe das ihr mir helfen könnt

  • #2
    Hm passt das? http://stackoverflow.com/questions/2...ide-a-function
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      /e modifier ist für preg_replace seit 5.5 deprecated, verwende preg_replace_callback
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        mhh ich glaube das ich es falsch zusammen setze da ich dadurch auch nur errors kriege.
        die seite dabe ich auch schon gedunden bevor ich hier gefragt habe

        Kommentar


        • #5
          preg_replace_callback habe ich mal (bei einem anderem projekt) versuch und hatte nur fehler. ich habe aber auch noch nicht die richtige syntax verstanden. Aber ich werde es erneut versuchen wenn es ja demnächst nicht mehr verfügbar ist.

          Kommentar


          • #6
            PHP-Code:
            <?php
            $tplFile  
            preg_replace_callback(
              
            "#{(.*):{.*)}#isU",
              function (array 
            $matches) use ($page) {
                
            $callback = array($page->editor$matches[2]);
                
            // nach deiner Anforderung aber eher array($matches[1], $matches[2]);
                
            if (!is_callable($callback)) {
                  return 
            $matches[0]; // do nothing
               
            }
                return 
            call_user_func($callback);
              },
              
            $tplFile
            );
            ?>
            Die Diskussion warum man unbedingt eine Template-Engine braucht oder auch noch selber schreiben muss erspar ich uns .. (edit: gnah doch hier)
            "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

            Kommentar


            • #7
              Ich kann dem nur widersprechen. Twig macht mich glücklich, und ich kann nicht umhin, es in alle möglichen CMS, die ich nutze zu integrieren. Am wertvollsten hat sich dabei die horizontale Vererbung für mich herausgestellt.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Zitat von nikosch Beitrag anzeigen
                Am wertvollsten hat sich dabei die horizontale Vererbung für mich herausgestellt.
                damit meinst du http://twig.sensiolabs.org/doc/tags/use.html ?
                unter horizontal inheritance komme ich nciht weit, und du erwähnst es schon mind. zum zweiten mal.

                Kommentar


                • #9
                  Naja, stimmt, eigentlich meine ich das block-Feature. use ist aber auch cool.
                  [COLOR="#F5F5FF"]--[/COLOR]
                  [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                  [COLOR="#F5F5FF"]
                  --[/COLOR]

                  Kommentar

                  Lädt...
                  X