marco: String durchsuchen

Hallo zusammen

ich habe eine ganz kleine frage und zwar möchte ich ein string durchsuchen welcher so aussieht:

$suchen = "34 | 88 | 50 | 666 | 44 " usw.

nun möchte ich diesen String durchsuchen z.b. nach
der Zahl "3" aaaaber, es darf nur was finden, wenn die
Zahl 3 wirklich als einzelne Zahl vorkommt d.h. beim oben genannten
Beispiel würde es nichts finden und hier schon:

$suchen = "34 | 3 | 50 | 666 | 44 " usw.

Wie kann ich das in PHP machen? Danke für Eure
Hilfe!

Gruss Marco

  1. ich habe eine ganz kleine frage und zwar möchte ich ein string durchsuchen welcher so aussieht:

    $suchen = "34 | 88 | 50 | 666 | 44 " usw.

    sollte so hinhaun:
    ereg("| 3 |", $suchen);

    lg. roemer

    1. gudn tach!

      sollte so hinhaun:
      ereg("| 3 |", $suchen);

      ja, aber dann kann man auch einfach gewoehnliche stringfunktionen, wie strpos anwenden und ist vermutlich schneller.

      prost
      seth

    2. hallo roemer

      denke nicht das es so geht..
      was ist, wenn die zahl 3 am anfang steht also

      $suchen = "3 | 88 | 50 | 666 | 44

      dann wird diese doch nicht gefunden oder?
      falls dies nicht geht, hat jemand eine idee wie es am einfachsten
      geht. oder noch was, wenn diese werte in einer mysql datenbank sind
      gibt es evt. einen befehl es mit mysql einfacher zu überprüfen?

      dachte zuerst an %3% aber dann werden alle angezeigt auch wenn es
      z.b. 34 ist. hmm?

      freue mich weiter auf eure antworten.

      marco

      1. gudn tach!

        was ist, wenn die zahl 3 am anfang steht also

        $suchen = "3 | 88 | 50 | 666 | 44

        dann wird diese doch nicht gefunden oder?

        richtig. also vielleicht doch besser mit preg_match und dem muster
        /\b3\b/

        \b heisst "wortgrenze".

        wenn diese werte in einer mysql datenbank sind
        gibt es evt. einen befehl es mit mysql einfacher zu überprüfen?

        die stehen schon so (mit den pipe-zeichen) in der datenbank? ist der datenbank-vorteil nicht gerade der, dass man sowas in ner tabelle speichert?

        prost
        seth

  2. Hello,

    Wie kann ich das in PHP machen? Danke für Eure

    im Zweifel indem du ein slit am "||" vornimmst und anschließend die einzelnen Array-Elemente durchschaust.

    MfG
    Rouven

    --
    -------------------
    "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
  3. gudn tach!

    $suchen = "34 | 3 | 50 | 666 | 44 " usw.

    sieht nach einem fall fuer strpos aus, mit der needle, die kleinerroemer schon nannte, also "| 3 |" oder noch kuerzer " 3 ".

    wenn nicht immer dieses format, also mit vorangehenden und abschliessenden leerzeichen, gewaehrleistet ist, dann helfen regulaere ausdruecke, z.b. mit preg_match und dem pattern /\b3\b/

    prost
    seth