Nikola: Aus String best. Zeichenfolge extrahieren

Hallo Ihr Lieben,

kann mir jemand helfen und sagen wie ich aus einem String eine bestimmte - und nur diese! - Zeichenfolge extrahieren kann?

String:
$string = "Das ist der Teststring darin [#5598] steht und noch was anderes."

Als Ergenbis soll dann folgendes herauskommen - wobei nur nach den Zahlen zwischen [# und ] gesucht werden soll ...
$ergebnis = "5598";

Geht das nicht irgendwie?

Danke für Eure Hilfe,

Die kleine Nikola :-)

  1. www.php.net -> substr(); wäre am einfachsten wenn der String immer aus 7 Zeichen besteht. Sonst ein regulärer Ausdruck....

    Gruß Volkan

    1. Hallo nochmal,

      Sonst ein regulärer Ausdruck....

      das wäre glaube ich besser, da es manchmal vorkommen kann, das [#12334] mehrmals im String vorkommen kann ...

      Leider kenne ich mch damit nicht aus :-((

      1000 Dank für Eure nochmalige Hilfe,

      Eure Niko

      1. Hello,

        Sonst ein regulärer Ausdruck....

        das wäre glaube ich besser, da es manchmal vorkommen kann, das [#12334] mehrmals im String vorkommen kann ...

        Ich denke, dass der reguläre Ausdruck evtl. nicht die passende Lösung ist, da die Anzahl der Ergebnisse beschränkt ist.

        Dann müsste man auch eine Schleife aufbauen, bei der immer der bereits durchsuchte Teil mit Treffern abgschnitten wird.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hi,

    Als Ergenbis soll dann folgendes herauskommen - wobei nur nach den Zahlen zwischen [# und ] gesucht werden soll ...

    Mit strpos() nach "[#" und "]" suchen, und das, was dazwischen ist, mit substr() ausschneiden.

    Oder das, was nach "[#" kommt mit intval() in eine Zahl umwandeln (und ggf. mit strval() wieder in einen String).

    Oder ... ;-)

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Hello,

    ... und mit einem doppelten explode() ginge es auch.

    Allerdings ist das ein Vorschlaghammerhammer gegen Reißzwecken.

    Wie oft soll denn eine derartige Zeichenkette gefunden werden?

    Das beste wird tatsächlich sein, den String "abzulaufen" und beim auffinden der [ einen "Schalter" umzulegen, dann nach # zu gucken, wenn das Zeichen folgt, den nächsten "Schalter" umzulegen und alle folgenden Zeichen bis zum ] auf einem Stapel abzulegen...

    So ähnlich funktioniert das ja auch mit dem von Cybaer vorgeschlagenen strpos(). Da muss man ja auch darauf achten, dass strpos von [# nicht größer ist, als strpos von ]

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau