Announcement

Collapse
No announcement yet.

Regulärer Ausdruck - alle 'xyz [Bot]' entfernen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Regulärer Ausdruck - alle 'xyz [Bot]' entfernen

    Hallo zusammen

    Ich habe einen String mit mehreren Usernamen drin per Komma getrennt, bei denen manchmal Bots drin stehen wie 'Yahoo [Bot]', Bing [Bot], Google [Bot] usw. .
    So eine Zeichenkette kann z.B. so aussehen:
    Code:
    JohnRomero13, Yahoo [Bot], brominator, Google [Bot]
    Nun möchte ich die kompletten Bot-Namen per 'Reguläre Ausdrücke' aus dem String entfernen. Mit RE arbeite ich leider ziemlich selten.
    Mein bisheriger bester Expression:
    Code:
    [A-Za-z]\s.[Bot]{3}.
    Mit dem Komma bezw. Schluss habe ich noch Mühe, weil nicht immer vor oder nach einem Botname einer stehen muss/kann. Wie mache ich dies am Besten?

    Danach werde ich dann die richtigen Usernamen in einer Liste abfüllen, was wohl die kleinste Aufgabe ist .

    Danke und Gruss
    Rambodieschen

  • #2
    Versuche es mit:

    (\w* \[Bot\],*)
    Christian

    Comment


    • #3
      Ich würde das ohne RegEx machen.
      [highlight=php]
      $aNoBots = array_filter(
      explode( ',', $bots ),
      function ( $item ) {
      return false === strpos( $item, '[Bot]' );
      }
      );

      print_r( $aNoBots );
      [/highlight]
      PHP rocks!
      Eine Initiative der PHP Community

      Comment


      • #4
        Danke

        Danke für die raschen Antworten. Werde ich diese Woche noch ausprobieren.

        Comment


        • #5
          Ich würde es auch so wie Arne machen

          Comment

          Working...
          X