bleicher: unerwünschte Ausgabe

Grüße,

stehe vor einem Rätsel:
nachlängerem kürzen sieht es so aus, dass

  
$text=preg_replace_callback('/\[gal:(.*)\]/', create_function('$bla','return $bla;') , $text);  

fürht dazu, dass mitten im Text "Array" ausgegeben wird - sonst funktioniert es auch (normal wird eine externe funktion aufgerufen)

fand keine Erklärung bei php.net

MFG
bleicher

  1. Hallo,

    $text=preg_replace_callback('/\[gal:(.*)\]/', create_function('$bla','return $bla;') , $text);

    fürht dazu, dass mitten im Text "Array" ausgegeben wird - sonst funktioniert es auch (normal wird eine externe funktion aufgerufen)

    bist du sicher, dass die mysteriöse Ausgabe von *dieser* Anweisung stammt?

    fand keine Erklärung bei php.net

    Ich auch nicht: Du definierst eine Callback-Funktion, die einen Parameter bekommt und ihn unverändert als Ergebnis zurückgibt. Ich kann in diesem Code-Ausschnitt nichts erkennen, was überhaupt eine Ausgabe erzeugt. Da muss irgendwo noch ein unentdecktes echo oder print stecken ...

    So long,
     Martin

    --
    There are 10 types of people in the world: Those who understand the binary system, and those who don't.
    1. Grüße,

      Ich auch nicht: Du definierst eine Callback-Funktion, die einen Parameter bekommt und ihn unverändert als Ergebnis zurückgibt. Ich kann in diesem Code-Ausschnitt nichts erkennen, was überhaupt eine Ausgabe erzeugt. Da muss irgendwo noch ein unentdecktes echo oder print stecken ...

      wenn ich die zeile auskommentiere - verschwindet dies "Array" :/
      MFG
      bleicher

      1. wenn ich die zeile auskommentiere - verschwindet dies "Array" :/

        Wie ist dein error_reporting eingestellt?
        Es kann ja trotzdem ein echo oder print geben, das einfach eine leere Variable ausgibt. Wenn du kein E_ALL eingestellt hast, wird dann auch kein warning erzeugt.

        1. Grüße,

          Wie ist dein error_reporting eingestellt?
          Es kann ja trotzdem ein echo oder print geben, das einfach eine leere Variable ausgibt. Wenn du kein E_ALL eingestellt hast, wird dann auch kein warning erzeugt.

          ist glaube ich E_ALL :/

          habs mal eingestellt - aber vergessen wie genau das geht - tipp zur kontrolle? iwo httpd.conf?
          MFG
          bleicher

          1. Grüße,
            k blöd von mir - also mit E_ALL gibts zwar nch paar "Notice" - aber keine fehler, "Array" bleibt ;/

            soweit bin ich gekommen - dies COde allein im document:

            $maint="[gal:123]";  
            $maint=preg_replace_callback('/\[gal:(.*)\]/', create_function('$t','return $t;'), $maint);  
            echo $maint;
            

            erzeugt "Array", ergo muss $Maint vom string zu array geworden z usein - warum? laut docu gibr pre_replace_callback string zurück wenn es string übergeben bekommt?

            MFG
            bleicher

            1. Grüße,
              danke an alle ;)
              brett vor dem kopf nennt man das - ich nahm an, die callback-funkction wird bei jedem "treffer" aufgerufen - de facto kriegt die einmalig array mit den "treffern" - bitte löscht diesen thread wenn möglich ;)
               sonst wird man aus diesen "brettern" eine arche bauen können ;/
              MFG
              bleicher