[REGEX] preg_match_all mehrere treffer erzielen

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

  • [REGEX] preg_match_all mehrere treffer erzielen

    Hallo,

    ich versuche vergeblich aus einer Liste mit Domainnamen einige rauszufiltren und zwar

    [a-z\.net] [a-z\.org] [a-z\.com]

    Wie ich sie in einer preg_match_all funktion unterbringe fällt mir nicht ein. Kann mir jemand helfen?

    Danke

  • #2
    Schau dir das mal an:
    http://de2.php.net/manual/de/functio...-match-all.php
    Wer immer nur tut was er kann lernt nie was neues.

    Kommentar


    • #3
      :gähn:
      preg_match_all ('/[a-z]+\.(com|net|org)/', $string, $match);

      bei PREG_PATTERN_ORDER besteht $match[0] dann aus einer Liste aller passenden Domainnamen.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Bei

        <?php
        $string = file_get_contents("123.txt","r");
        preg_match_all ('/[a-z]+\.(com|net|org)/', $string, $match, PREG_PATTERN_ORDER);
        echo $match[0];
        ?>

        Zeigt mein IE nur das Wort Array

        Kommentar


        • #5
          mach einfach mal print_r($matches)
          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

          Kommentar


          • #6
            Danke

            Kommentar


            • #7
              Ich habe mich zu früh gefreut

              z.B. bla4blu.com wird zu blu.com
              4blu.com wird zu blu.com
              blu-bla.com wird zu bla.com

              Ich brauche aber nur die Wörter, die aus reinen Buchstaben bestehen, ohne Zahlen und Bindestrichen. Ist es überhaupt möglich?

              Danke für eure Geduld.

              Kommentar


              • #8
                schreib vor [a-z] mal \b

                und hinter das zweite / machst du noch ein i

                wenn ich dein problem richtig verstanden habe, dann sollte es so hinhauen
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Danke für den ersten Tipp mit \b (Erkennung von Wortgrenzen). Die Domains, die Zahlen beinhalten werden jetzt ausgeschlossen.

                  Mit dem zweiten Tipp bin ich nicht weiter gekommen. Ist es nicht für i das Ignorieren von Groß- und Kleinschreibung gedacht?

                  Wenn ja dann brauche ich das eigentlich nicht, sondern muß ich solche domains, die einen Bindestrich haben ausschließen z.B. php-ist-nicht-ganz-einfach.de oder bla-blu.de.

                  MfG

                  Kommentar


                  • #10
                    Original geschrieben von Dvornik
                    Mit dem zweiten Tipp bin ich nicht weiter gekommen. Ist es nicht für i das Ignorieren von Groß- und Kleinschreibung gedacht?

                    Wenn ja dann brauche ich das eigentlich nicht, sondern muß ich solche domains, die einen Bindestrich haben ausschließen z.B. php-ist-nicht-ganz-einfach.de oder bla-blu.de.
                    richtig erkannt

                    domains mit bindestrich sollten doch schon ausgeschlossen sein?

                    ich dachte nur, du willst HALLO.DE auch erkannt haben, daher das i
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Nein sie werden nicht ganz ausgeschlossen sondern die Funktion nimmt immer einfach den ganzen Rest nach Bindestrich z.B. asdf-hzuit.com -> hzuit.com

                      Kommentar


                      • #12
                        dann schau mal in der referenz nach, die dir verraten hat was \b für eine bedeutung hat, da findest du auch irgendwas von whitespace zeichen...
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          \s
                          Danke! Es stand Tab, Leerzeichen usw.

                          Kommentar

                          Lädt...
                          X