thom: variable aus datei auslesen

hallo,
ich versuche gerade mit einem phpskript eine textdatei zu öffnen. in dieser ist unter der variablen
$text = " hier steht der text";
eben ein text abgelegt. diesen möchte ich nun in meinem skript ausgeben.
wie kann ich das lösen?
kenn mich leider noch nicht so gut in php aus.
gruss, thom

  1. Holladiewaldfee,

    $text = " hier steht der text";

    $x = file("bla.txt");
    for($i=0, $j=count($x); $i<$j; $i++)
    { $a = explode("=", $x[$i], 2);
      $a[0] = trim($a[0]);
      $a[1] = substr(trim($a[1]), 1, strlen(trim($a[1]))-3);
      $$a[0] = $a[1]; }

    Das setzt aber voraus, daß in der Datei wirklich _nur_ solche Variablen stehen, also auch keine Leerzeichen, Kommentare und ähnliches.

    Alternativ kannst Du die Datei natürlich auch mit

    include("bla.php"); einbinden ;-)

    Das geht einfacher, setzt aber voraus, daß der Server diese Datei als Script erkennt.

    Ciao,

    Harry

    --
      Hä? Was? Signatur?! Kann man das essen?
      Wirrwarr: sh:| fo:) ch:] rl:° br:& n4:° ie:% mo:) va:) de:[ zu:) fl:( ss:) ls:[ js:|
    1. hi harry,
      in der datei befinden sich auch andere variablen. es ist halt ein phpskript. eine variable davon ist halt eben dieser text.
      daher entfällt natürlich auch das includen der ganzen datei.
      kann man nicht direkt eine variable irgendwie auslesen?

      thom

      1. Holladiewaldfee,

        in der datei befinden sich auch andere variablen. es ist halt ein phpskript. eine variable davon ist halt eben dieser text.
        daher entfällt natürlich auch das includen der ganzen datei.

        Also, laß uns das nochmal zusammenfassen.
        Die Datei ist ein PHP-Script, in dem jede Menge Müll steht, den Du nicht haben willst, nur die Zeile der Form

        $text = "toller Text";

        Richtig?
        Dann nimm:

        $x = file("bla.txt");
        for($i=0, $j=count($x); $i<$j; $i++)
        { if(preg_match("/^$[a-zA-Z0-9_-]*\s?=\s?"/", trim($x[$i])))
          {  $a = explode("=", $x[$i], 2);
             $a[0] = trim($a[0]);
             $a[1] = substr(trim($a[1]), 1, strlen(trim($a[1]))-3);
             $$a[0] = $a[1];
          }
        }

        kann man nicht direkt eine variable irgendwie auslesen?

        So geht's (hoffentlich). Ich hab's aber nicht getestet.

        Ciao,

        Harry

        --
          Hä? Was? Signatur?! Kann man das essen?
          Wirrwarr: sh:| fo:) ch:] rl:° br:& n4:° ie:% mo:) va:) de:[ zu:) fl:( ss:) ls:[ js:|
        1. So geht's (hoffentlich). Ich hab's aber nicht getestet.

          deine methode funktioniert. ich habs nun mal ausprobiert.
          danke für die hilfe

          gruss, thom