String Array in Variable umwandeln

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

  • String Array in Variable umwandeln

    Kennt von euch jemand die Möglichkeit, wie man ein Array als String, bsw.
    PHP-Code:
    $var "$test['value']" 
    in eine Variable umwandeln kann? Sinn und Zweck ist die Nutzung der Globalen Variable $_SERVER in den Template-Dateien

  • #2
    was willst du?

    Kommentar


    • #3
      Ich habe im Template-Quelltext bsw. $_SERVER['REMOTE_ADDR'] stehen und diese Variable (noch als String vorliegend) soll nun mittels PHP mit dem Inhalt von $_SERVER['REMOTE_ADDR'] ersetzt werden. Bei normalen Variablen ja kein Problem, da man nur ein zusätzliches $ vor den String-Variablennamen setzen muss... Ich hoffe es war nun etwas verständlicher

      Kommentar


      • #4
        Ich hoffe es war nun etwas verständlicher
        Nö.

        Arrays kannst du "in strings umwandeln" mit serialize() und umgekehrt mit unserialize(), aber ich habe die Vermutung das meinst du nicht.

        EDIT:
        Achsooo du meinst
        PHP-Code:
        $var $test['value']; 

        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

        Kommentar


        • #5
          Original geschrieben von ArSeN
          Achsooo du meinst $var = $test['value'];
          Nein, steht doch (fast) schon im ersten Posting.

          am besten fährst du mit str_replace() oder preg_match_callback
          Zuletzt geändert von TobiaZ; 30.08.2007, 20:21.

          Kommentar


          • #6
            Stimmt mit eval wär das möglich, danke

            Kommentar


            • #7
              habs extra nochmal editiert, weils sicher sicherer geht.

              Kommentar


              • #8
                Kapier immernoch nich was da jez gemeint war.
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar


                • #9
                  er hat nen String:

                  $var = 'das ist mein Server: $_SERVER['HTTP_HOST']';

                  und will, dass der Teilstring $_SERVER['HTTP_HOST'] durch die entsprechende Variable ersetzt wird.

                  Wozu das gut ist, hinterfragen wir nicht.

                  Kommentar


                  • #10
                    Aaaah... ein Satz. Gut. Danke
                    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                    Kommentar


                    • #11
                      Original geschrieben von ArSeN
                      Kapier immernoch nich was da jez gemeint war.
                      Er hat eine Templateengine und möchte den String "$_SERVER['HTTP_HOST']" durch den Inhalt der Variable $_SERVER['HTTP_HOST'] ersetzen!

                      Am Sichersten wird wohl sein, wenn du eine Ersetzung durchführst:
                      PHP-Code:
                      $rep str_replace"\$_SERVER['HTTP_HOST']"$_SERVER['HTTP_HOST'], $str ); 
                      Edit: Viiiiel zu lahm!

                      Kommentar


                      • #12
                        Er hat eine Templateengine und möchte den String "$_SERVER['HTTP_HOST']" durch den Inhalt der Variable $_SERVER['HTTP_HOST'] ersetzen!
                        Die hat er eben noch nicht.

                        Kommentar


                        • #13
                          Danke für eure Antworten.
                          Habe mir mal was neues zusammengebastelt:
                          PHP-Code:
                          $pattern    '#\{\$\$(.*?)\[[\'|\"](.*?)[\'|\"]\]\}#is';
                          preg_match_all($pattern$this->content$matches);

                          $i=0;
                          foreach(
                          $matches[0] AS $key => $match) {
                          $this->content    str_replace($match, ${$matches[1][$i]}[$matches[2][$i]], 
                          $this->content);
                          $i++;

                          $matches[1] enthält den Variablennamen, $matches[2] den Arraynamen des Elements, ist auch alles enthalten, nur ausgeben tut er es nicht, sieht jemand, woran es ggf. liegen könnte?

                          Kommentar


                          • #14
                            nur ausgeben tut er es nicht,
                            Ich seh keine ausgabe.

                            poste mal den inhalt von $matches

                            Kommentar


                            • #15
                              print_r gibt/gab folgendes aus:
                              Array
                              (
                              [0] => Array
                              (
                              [0] => {$$_SERVER['REMOTE_ADDR']}
                              )

                              [1] => Array
                              (
                              [0] => _SERVER
                              )

                              [2] => Array
                              (
                              [0] => REMOTE_ADDR
                              )

                              )

                              Kommentar

                              Lädt...
                              X