variable Länge bei substr

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

  • variable Länge bei substr

    Liebes Forum,

    ich möchte einen Zahlenwert aus einer Datei auslesen. Der Inhalt der Datei ist dabei variabel. Ich muß also erst die Position des Wertes finden und dann auslesen.

    Zum Glück ist der Wert je mit einer ganz bestimmten Zeichenkette gekennzeichnet, so das ich die Position immer wieder finde. Wenn der Zahlenwert als Beispiel 4 Stellen hat gehts . Aber wenn der Zahlenwert 5 oder mehr Stellen hat dann hab ich ein Problem. Die gesuchte Zahl kann eine Länge von 1 bis 7 haben.

    Soweit bin ich schon.

    $string = file_get_contents('http://localhost/verzeichniss/datei.txt');

    $pos= strpos($string, 'wert1/');

    echo substr($string, $pos,4);


    Die länge des Zahlenwertes müste ich feststellen, damit ich sie in substr angeben kann.




    Oder ich lese eine längere Zeichenkette nach $pos aus und filter dann nur die Zahl raus, also so -->echo substr($string, $pos,8);

    Bei beiden Varianten habeich nocht die passende Funktion gefunden.


    Danke für Hilfe

  • #2
    Gibt es auch eine Kennung, wo die Zahl aufhört? Wenn ja hol dir die Positon davon und deine Probleme sind gelöst.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      für solche sachen sind reguläre ausdrücke eigentlich viel besser geeignet. ich weiß, die teile sind kompliziert, aber wenn man erst einmal damit umgehen kann, einfach supernützlich.

      und vor allem alle male schneller als die typischen suppen aus strchr, strpos, substr etc. pp...

      Kommentar


      • #4
        Original geschrieben von GeneralZod
        und vor allem alle male schneller als die typischen suppen aus strchr, strpos, substr etc. pp...
        Naja. Das kommt ganz drauf an. Man kann die RegExp-Maschine auch schon mit kurzen scheinbar einfachen Ausdrücken zum keuchen bringen (evtl. unbemerkt) ... IMHO sollte man sich da, je nach Größe und Performancerelevanz, wirklich tiefgehend mit auseinandersetzen.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          wenn z.b. dahinter immer ein leerzeichen kommt, koenntest du nach diesem leerzeichen hinter der zahl suchen.

          ansonsten um die id auszulesen waere moeglich:

          $id=preg_replace("/^(.*)Wert1\/([0-9]{1,7})(.*)$/im", "\\1", $datei);

          mfg
          www.myplaner.de

          Kommentar

          Lädt...
          X