[php] nach ftp http im string suchen

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

  • [php] nach ftp http im string suchen

    Ich habe eine Variable in der der Download pfad zu einer Datei steht. Ich möchte nun aber lokal liegende dateien anders Abwirtschaften als Extern Verlinkte. Dazu möchte ich aus einer Variable die z.b. heisst $url auslesen ob sich in ihr http oder ftp als Text befindet.. wenn das zutrifft möchte ich etwas anderes ausführen als wenn nicht.

    Mit Welchem Befehl mache ich das ?

    Vielen Dank
    Zuletzt geändert von quicksilver; 30.11.2004, 15:26.

  • #2
    viel erfolg dabei!
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      http://www.php.net/manual/de/function.preg-match.php

      Kommentar


      • #4
        Was heissen denn da die ganzen /\?*^[] ich kann damit nichts anfangen. Ich hatte das hier zusammengebastelt aber da kommt immer
        PHP-Code:
        WarningDelimiter must not be alphanumeric or backslash in 
        PHP-Code:
        if (preg_match("tp://",$array['url'])) {
           echo 
        "<br>Extern";
        } else {
           echo 
        "<br>Lokal";

        in $array['url'] steht halt entweder http://www.domain.de/file.endung oder downloads/file.endung zwischen den beiden möchte ich unterscheiden.

        Kommentar


        • #5
          dann such doch nach den Unterschieden, also z.B. http oder download oder was auch immer...

          Kommentar


          • #6
            delimiter begrenzen bei regulären ausdrücken den suchausdruck vorne und hinten, und eben diese delimiter dürfen nicht alphanummerisch oder ein backslash sein.

            da bei dir aber direkt am anfang ein 't' steht, gibt's dann halt die entsprechende warnung.

            schau dir mal das tutorial zu den regulären ausdrücken an, http://www.php-resource.de/tutorials/read/10/1/
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              PHP-Code:
               if (preg_match("/http/i"$url)) {
                 echo 
              "Es wurde eine Übereinstimmung gefunden.";
              } else {
                 echo 
              "Es wurde keine Übereinstimmung gefunden.";

              nicht ausprobiert, aber sowas in der Art müsste klappen. Ansonsten einfach mal etwas nachlesen...

              Kommentar


              • #8
                Warning: Delimiter must not be alphanumeric or backslash in
                http://pcre.nophia.de/explain/error/...limitermustnot
                Code:
                #^http://#i
                # sind die delimiter, die nicht im eigentlichen suchmuster vorkommen dürfen.
                ^ zirkumflex bedeutet hier, daß sich der zu suchende text am anfang des strings befinden muß.
                i modifier, es wird nicht zwischen groß/kleinschreibung unterschieden
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Ja heini aber ich muss ja nach http und ftp suchen. Das preg_match Tut hab ich mir mal angeschaut aber hm bin mir nicht sicher wie ich es aufbauen soll

                  Kommentar


                  • #10
                    Wenn du nicht nach bestimmten Mustern, sondern nach Zeichenfolgen suchen willst, kannst du auch eregi() nehmen.
                    PHP-Code:
                    if (eregi("http://"$url)) {
                        echo 
                    "dies";
                    } else {
                        echo 
                    "das";

                    Kommentar


                    • #11
                      eben das ist ineffizient, finde ich. wenn doch keine regexp benötigt sind, dann lieber was schnelleres benutzen - stristr, z.b.

                      Kommentar

                      Lädt...
                      X