Mit Regex Domainname + TLD aus URL auslesen

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

  • Mit Regex Domainname + TLD aus URL auslesen

    Ich hab ein kleines Problemchen, was meine Regexfähigkeiten übersteigt.
    Ich hab mehrere URLs welche wie gewohnt so aufgebaut sind

    http://www.blabla.tld/irgendwas/toll.php?parameter=1&blub
    http://nocheine.tld/ja/index.php?seite=5
    http://subdomain.domain.tld/gleichesspiel/datei.php

    und ich möchte jetzt mittels regex folgendes haben

    blabla.tld (ohne http://www.)
    nocheine.tld
    subdomain.domain.tld

    alles andere soll abgeschnitten werden.
    ich hab zwar schon etwas rumprobiert aber leider reichen da meine fähigkeiten ncht ganz aus. im grunde ist es ja recht simple (zumindest von der überlegung her)

    http:// steht immer am anfang
    www. ist optional
    und alles bis zum nächsten / will ich auslesen.

    schonmal danke für die hilfe
    Zuletzt geändert von st@tic; 17.07.2009, 18:17.

  • #2
    Zum x-tausendsten Mal: Verlinkt gefälligst keine Domains, die euch nicht gehören und die nicht explizit dafür vorgesehen sind*, in Beispielen!

    Also passe bitte deinen Beitrag an.


    * wie bspw. example.com/.net/.org
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ist .tld dann recht?

      Kommentar


      • #4
        Vielleicht auch anders
        PHP-Code:
        <?php
        $u
        ='http://subdomain.domain.tld/gleichesspiel/datei.php';
        var_dump(parse_url($u));
        ?>
        Ergebnis:

        array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(20) "subdomain.domain.tld" ["path"]=> string(24) "/gleichesspiel/datei.php" }

        Kommentar


        • #5
          stimmt das funktioniert auch. per string replace kann man das www. ja noch entfernen.

          Kommentar


          • #6
            Ergänzung:

            müsstest noch einmal auf www. abfragen und gegebenenfalls verschwinden lassen.

            PS Hast ja das selbst schon bemerkt.

            Kommentar


            • #7
              Zitat von st@tic Beitrag anzeigen
              Ich hab ein kleines Problemchen, was meine Regexfähigkeiten übersteigt.
              Ich hab mehrere URLs welche wie gewohnt so aufgebaut sind

              http://www.blabla.tld/irgendwas/toll.php?parameter=1&blub
              http://nocheine.tld/ja/index.php?seite=5
              http://subdomain.domain.tld/gleichesspiel/datei.php

              und ich möchte jetzt mittels regex folgendes haben

              blabla.tld (ohne http://www.)
              nocheine.tld
              subdomain.domain.tld

              alles andere soll abgeschnitten werden.
              Kommt jede URL einzeln an oder willst du mehrere in einem laufenden Text ersetzen?
              Beides erfordert unterschiedliche Suchmuster.

              Für einzelne URLs:
              PHP-Code:
              preg_replace('/\A(http:\/\/)?(www\.)?/s'''$src); 
              Für mehrere URLs:
              PHP-Code:
              preg_replace('/\A(http:\/\/)?(www\.)?(\S+)/s''$3'$src); 

              ich hab zwar schon etwas rumprobiert aber leider reichen da meine fähigkeiten ncht ganz aus. im grunde ist es ja recht simple (zumindest von der überlegung her)

              http:// steht immer am anfang
              www. ist optional
              Ach so? Na dann statt '(http:\/\/)?(www\.)?' besser '(http:\/\/)(www\.)?'

              und alles bis zum nächsten / will ich auslesen.
              Es gibt auch gültige URLs ohne "/" am Ende ...

              Dumme Frage: Was willst du mit dem Ergebnis anstellen? <a href="...">-Tags in einen HTML-Quelltext basteln?

              --
              *grrrrrrrrr*
              Wieso ist diese bescheuerte Links-automatisch-Umwandeln-Funktion serienmäßig aktiviert?
              Zuletzt geändert von fireweasel; 17.07.2009, 20:04.
              Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

              Kommentar


              • #8
                Es ist keinesfalls gewährleistet, dass www.example.com und example.com auf den selben Content verweisen.
                www ist auch nur eine Subdomain. Das Abschneiden von www kann die Url unbrauchbar machen. Ist also meines bescheidenen Erachtens nach eine ungute Idee.
                Zuletzt geändert von combie; 18.07.2009, 09:28.
                Wir werden alle sterben

                Kommentar


                • #9
                  Zitat von fireweasel Beitrag anzeigen
                  Dumme Frage: Was willst du mit dem Ergebnis anstellen? <a href="...">-Tags in einen HTML-Quelltext basteln?
                  nein, ich versuche das hier nachzubauen WP – Landingsites de (Plugin) – bueltge.de [by:ltge.de] alles nicht als wordpress template. allerdings wird die funktionsweise ähnlich sein und um herauszufinden, wie der parameter heißt, der die suchbegriffe beinhaltet muss ich wissen von welcher suchmaschine man kommt. zwar haben die meisten q= aber manche eben auch nicht.
                  und ich hab es so ähnlich gelöst mit einem array mit dem namen.tld als key und der parameter als value. daher ist es auch irrelevant ob die domain ein www. hat oder nicht

                  Kommentar

                  Lädt...
                  X