Hilfe bei preg_match !

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

  • Hilfe bei preg_match !

    Hi@all,

    habe von php.net folgendes:
    Code:
    <?php
    // den Hostnamen aus URL holen
    preg_match("/^(http:\/\/)?([^\/]+)/i",
       "http://www.php.net/index.html", $treffer);
    $host = $treffer[2];
    
    // die letzten beiden Segmente aus Hostnamen holen
    preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $treffer);
    echo "Der Domänen-Name lautet: {$treffer[0]}\n";
    ?>
    Wie kann ich preg_match so definieren, das er nicht php.net auslesen soll, sondern von :
    Code:
    <?php
    // den Hostnamen aus URL holen
    preg_match("/^(http:\/\/)?([^\/]+)/i",
       "/ordner", $treffer);
    echo $treffer[2];
    ?>
    Wie kann ich hier machen, das er nur das "ordner" ausließt, ohne das "/" am anfang?

    Mein Problem ist nämlich, das ich immer den hauptordner auslesen möchte, allerdings ohne das "/" am anfang, folgendes zeigt mir halt den ordner an, nur halt mit einem "/" am anfang:
    Code:
    echo dirname(getenv('REQUEST_URI'));
    Kann mir da kurz jemand weiterhelfen

    MfG
    Stormsam

  • #2
    guck dir mal unser tutorial an...

    Kommentar


    • #3
      hi,

      danke für den tipp, allerdings konnt ich kein tutorial für "Reguläre Ausdrücke" finden.
      Die meisten im Netz sind extrem komplex, momentan müßt ich "nur" alles nach dem "/" auslesen, keine zeichen und nummer ausschliesen etc.

      mfg
      stormsam

      Kommentar


      • #4
        http://www.php-resource.de/tutorials/read/10/1/

        Kommentar


        • #5
          danke für den link, sry hab den irgendwie net gefunden.

          hab versucht mich da mal reinzulesen, kanns funktionieren möchte es aber leider nicht.

          bei mir schauts jetzt so aus :
          [PHP]
          preg_match("/\/.*/",
          "/hauptordner", $treffer);
          echo $treffer[2];
          echo $treffer[1];
          [PHP]

          hatte mir gedacht /.*/ zeigt alles an (Trifft auf jede beliebige Zeichenkette (auch eine leere) zu)

          und mit "\/", halt alles nach einem "/" (das "\" damit er den slash als zeichen sieht).

          Mein Problem: er zeigt nun gar nichts an.
          Das versteh ich nicht, den er müßte doch jetzt wenigstens /hauptordner anzeigen. Aber selbst das wollt ich ja eigentlich gar nicht, wie genau mach ich das nun das er alles nach dem "/" nimmt, ohne das "/" selber mitzunehmen ?

          So ganz will das noch nicht

          mfg
          stormsam

          Kommentar


          • #6
            ah, habs hinbekommen, muss so heißen:

            "/\/(.*)/"

            thx !

            Kommentar


            • #7
              Wunderbar!

              Kommentar


              • #8
                hi,

                habe hier wieder ein problem

                ich möchte nun aus $HTTP_SERVER_VARS["HTTP_REFERER"]; nur den ordner rauslesen.
                Könntet ihr mir da helfen?

                Mein Problem:

                er zeigt z.b. folgendes an:

                http://www.domain.de/ordner/unterord...erunterordner/

                Jetzt will ich nur den ordner rauslesen, keinen unterordner!
                Habe es so versucht:

                preg_match("/http:\/\/www.domain.de\/(.*)\//", "$url", $treffer);

                doch so zeigt er mir immer an: ordner/unterordner/unterunterordner

                Wie kann es nur auf den ersten Ordner beschränken? Sagen wir vom ersten slash bis zum zweiten ? Wie könnte man das machen?

                MfG
                Stormsam

                Kommentar


                • #9
                  beispielsweise
                  parse_url() drauf anwenden, und anschliessend aus dem element 'path' alles bis zum zweiten / ausschneiden.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Code:
                    #http://[^/]+/([^/]+)/#isU
                    im ersten unterausdruck findest du den ordner
                    http://pcre.nophia.de/evaluate/index...dfe195cac0a2ec

                    http://www.php-resource.de/tutorials/read/10/1/

                    edit: oder halt wahsagas methode ...
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar

                    Lädt...
                    X