[REGEX] Preg_match AND Verknüpfung ??

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

  • [REGEX] Preg_match AND Verknüpfung ??

    Hallo zusammen !

    ist es möglich mit preg_match nach mehreren Wörtern zu suchen bzw. eine AND Verknüpfung durchzuführen ?? Wenn ja, wie mache ich das am besten ??
    Danke im Voraus !

    slayter

  • #2
    http://at.php.net/manual/de/referenc...ern.syntax.php

    Zu "Subpatterns" runterscrollen !

    zB.:
    Zeichenkette: "der hund frisst die katze"
    Suchmuster: (hund|katze)
    preg_match_all() würde 2 Treffer liefern
    "Nemo ante mortem beatus."

    Kommentar


    • #3
      also irgendwie steige ich da nicht wirklich durch.
      Ich möchte folgendes erreichen:

      PHP-Code:
      $string="Ich bin ein ganz kurzer String";
      $suche="Ich bin String";
      $array=explode(" ",$suche); 
      dabei soll "ich" , "bin" ,"string" durchsucht werden und wenn alle 3 Wörter gefunden werden, soll er mir true ausgeben.
      Wie mache ich das ambesten mit preg_match_all ??
      Zu sagen ist, dass die die Suchstrings unterschiedliche Anzahl an Wörtern haben. Das obige war jetzt nur ein beispiel mit 3 Wörtern.
      Für jegliche Hilfe wäre ich sehr dankbar.

      slayter

      Kommentar


      • #4
        ausnahmsweise:

        PHP-Code:
        $zudurchsuchenderstring "ich hoffe nach mir wird erst morgen gesucht";

        $suchstring "nach uns wird gesucht";

        $sucharray explode(" ",$suchstring);

        foreach (
        $sucharray as $suchtext)
           {
           if (
        strstr($suchtext$zudurchsuchenderstring) == true)
               {
               echo 
        "dieses Wort wurde gefunden: ".$suchtext;
               }
           } 
        normalerweise renn ich niemand hinterher...

        Kommentar


        • #5
          danke für den Code.
          aber irgendwie klappt das so nicht.
          Ich kriege keine Ausgabe. Das bedeutet, dass die Suche nicht korrekt durchgeführt wurde
          Ich vermute mal, dass strstr nicht mit mehreren Suchwörtern benutzt werden kann..hmmmm.
          Würde das vielleicht mit preg_match_all gehen ?? Habe leider dazu nichts gefunden.

          slayter

          Kommentar


          • #6
            irgendwie klappt nicht ist keine gültige Fehlermeldung.

            schreib error_reporting(E_ALL); oben ins Script
            und schau ob ne Fehlermeldung kommt.

            Kommentar


            • #7
              shabe ich jetzt gemacht.
              Kommt keine Fehlermeldung.
              Aber er gibt auch nichts aus.
              Was nun ??

              slayter

              Kommentar


              • #8
                wieso machst Du eigentlich überhaupt nichts selber?
                (mal ein Testscript schreiben, in der Doku nach
                Beispielen für die Befehle suchen...)

                da war ein Parameter vertauscht:

                PHP-Code:
                error_reporting(E_ALL);

                $zudurchsuchenderstring "ich hoffe nach mir wird erst morgen gesucht";

                $suchstring "nach uns wird gesucht";

                $sucharray explode(" ",$suchstring);

                foreach (
                $sucharray as $suchtext)
                   {
                   if (
                strstr($zudurchsuchenderstring$suchtext) != "")
                       {
                       echo 
                "dieses Wort wurde gefunden: ".$suchtext.'<br>';
                       }
                   } 
                strpos wär laut Handbuch effizienter, aber DAS darfst wirklich selber machen.

                Kommentar

                Lädt...
                X