[php] nach ftp http im string suchen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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
    Last edited by quicksilver; 30-11-2004, 15:26.

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

    Comment


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

      Comment


      • #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.

        Comment


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

          Comment


          • #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.

            Comment


            • #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...

              Comment


              • #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

                Comment


                • #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

                  Comment


                  • #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";

                    Comment


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

                      Comment

                      Working...
                      X