Letztes Wort im Satz soll "completed" sein - wie mit preg_match?

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

  • Letztes Wort im Satz soll "completed" sein - wie mit preg_match?

    Hallo,

    wie kann ich mit Hilfe von preg_match ermitteln das sich das Wort "completed" am Satzende befindet und kein weiteres Wort folgt?

    Danke schon mal für eure Hilfe

  • #2
    Hallo,

    mit Satzende meinst du "direkt vor ., ! und ?"? Wenn ja, dann [FONT="Courier New"]"/\Wcompleted[.!?]/"[/FONT].

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      nein ohne jegliche folgenden zeichen

      http://home-support.eu/search.php

      da ist zu sehen welche strings überprüft werden.
      Zuletzt geändert von KickASS; 02.10.2009, 12:54.

      Kommentar


      • #4
        In diesem Fall entsteht weiterer Klärungsbedarf. Ist ein "Satz" bei dir dann die gesamte Zeichenkette und completed muss ganz am Ende stehen oder ist ein "Satz" eine Zeile und completed muss am Zeilenende stehen?

        Du kannst auch gerne einen Beispielstring posten und die completed-Vorkommen farblich kennzeichnen, ob sie als Treffer gelten sollen (grün) oder nicht (rot).

        Edit zu deinem Edit: "/\Wcompleted *$/m" (Das " *" ist nur, falls danach noch Leerzeichen kommen könnten.)

        Edit2: Du sagtest strings? Ist also jede Zeile ein eigener String? Wenn ja, dann nimm den m-Modifikator wieder weg.
        Zuletzt geändert von AmicaNoctis; 02.10.2009, 13:02.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          bingo!

          danke vielmals

          Kommentar


          • #6
            Falls das completed wirklich ganz am Ende stehen soll, also ohne weitere Leerzeichen, wäre das Problem mit einfachen Stringoperationen vielleicht schneller gelöst. Mit Betonung auf vielleicht - gemessen habe ich es nicht.

            PHP-Code:
            $lastWord 'completed';
            if (
            substr($string, -strlen($lastWord)) == $lastWord) {
                
            // ...

            Dabei ist zu beachten, dass hiermit nicht geprüft wird, ob vor dem completed ein non-word Zeichen steht.

            Kommentar


            • #7
              @onemorenerd: Wenn es um Schnelligkeit geht, ist [FONT="Courier New"]-strlen($lastWord)[/FONT] geeigneter als eine Multiplikation mit -1
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar

              Lädt...
              X