Ankündigung

Einklappen
Keine Ankündigung bisher.

Deprecated: preg_replace(): The /e modifier is deprecated Fehler

Einklappen

Neue Werbung 2019

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

  • Deprecated: preg_replace(): The /e modifier is deprecated Fehler

    Hallo,
    Folgender Ausgangs Code:
    PHP-Code:
    return preg_replace ('#<!-- INCLUDE (.*) -->#ime''$this->getFile(\'\\1\')'$content); 
    ich habe es dann geändert in
    PHP-Code:
    return preg_replace_callback("#<!-- INCLUDE (.*) -->#im",array($this'getFile'),$content); 
    da kommt folgende Fehlermeldung:

    Warning: fopen(templates/Array): failed to open stream: No such file or Directory

    irgend wie packt php nur das wort Array rein.

    Ich benutzt php 5.5 zum entwickeln.
    Hätte jemand eine Idee.

    mfg jens


  • #2
    PHP-Code:
    array($this'getFile'
    Ich stelle das einfach mal in Frage. Ne Begründung habe ich nicht, Ich vermute nur, dass $this ein Objekt ist.
    So hättest du ein Array. 1. Element ist ein Objekt 2. Element ist ein String
    Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

    Kommentar


    • #3
      PHP-Code:
      return preg_replace_callback("#<!-- INCLUDE (.*) -->#im",array($this'getFile'),$content); 
      irgend wie packt php nur das wort Array rein.
      Weil er ein Array bekommt
      PHP-Code:
      array($this'getFile'
      Das packt er nicht irgendwie rein, sondern weil du es ihm sagst

      Kommentar


      • #4
        irgend wie packt php nur das wort Array rein.
        Den Satz hatte ich gar nicht gelesen , danke style. Aber war ich ja trotzdem auf dem richtigen Weg :P
        Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

        Kommentar


        • #5
          Hallo,
          Nur steht auch bei php.net.

          http://php.net/manual/de/function.pr...ack.php#110353

          mfg jens

          Kommentar


          • #6
            dann les den Kommentar doch mal ganz

            Kommentar


            • #7
              Hallo,
              Habs gelöst auf ein anderen weg.

              PHP-Code:
              return preg_replace_callback(    "#<!-- INCLUDE (.*) -->#im", function ($m){        return $this->getFile($m[1]);    }, $content); 
              nun geht wunderbar ohne Fehler.

              mfg jens

              Kommentar


              • #8
                Wollte ich auch gerade schreiben - Closures sind hier eindeutig die saubere Lösung. Die Angabe mit array($this, 'foobar') macht Refactoring schwieriger.
                GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

                Kommentar


                • #9
                  Hallo,
                  Ja das habe ich mit bekommen und es geht vieleinfacher so.

                  Trotzdem danke für eure hilfe.

                  mfg jens

                  Kommentar

                  Lädt...
                  X