Ankündigung

Einklappen
Keine Ankündigung bisher.

link auf gültigkeit prüfen und ggf anpassen

Einklappen

Neue Werbung 2019

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

  • link auf gültigkeit prüfen und ggf anpassen

    hallo

    wie kann ich prüfen ob in einem string ein link ist?
    also ein http:// oder https:// am anfang und ein punkt sowie eine tld?

    und wenn kein http(s):// vorhanden ist möchte ich dieses ergänzen...


  • #2
    Schau dir mal strpos() an.

    Kommentar


    • #3
      oder preg_match()
      Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
      Mark Twain

      Kommentar


      • #4
        Die Frage ist nicht pauschal zu beantworten. Ganz einfach, weil die Prüfung ein Kompromiss zwischen Aufwand und Genauigkeit ist. Wenn Du eine Prüfung auf eine annähernd nach den entspr. RFC's gültige URI ausführen möchtest wirst Du nicht um einen sehr umfangreichen regulären Ausdruck herum kommen. Ansonsten reicht vielleicht ein Ausdruck, der die üblichen Protokolle, Sonderzeichen und tld Längen umfaßt, sowie Leerzeichen ausschließt.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          PHP-Code:
                      $exp[] = "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is";
                      
          $rep[] = "<a href=\"$1\" target=\"_blank\" class=\"nlink\">$1</a>";

                      
          $exp[] = "#\[url\]([^ \"\n\r\t<]*?)\[/url\]#is";
                      
          $rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">$1</a>";

                      
          $exp[] = "#\[url\]((www|ftp)\.[^ \"\n\r\t<]*?)\[/url\]#is";
                      
          $rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">$1</a>";

                      
          $exp[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
                      
          $rep[] = "<a href=\"$1\" target=\"_blank\" class=\"nlink\">$2</a>";

                      
          $exp[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
                      
          $rep[] = "<a href=\"http://$1\" target=\"_blank\" class=\"nlink\">\\3</a>";

                      
          #URL einfügen
                      
          $text preg_replace($exp$rep$text);

                      
          $text preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is""$1<a href=\"http://$2\" target=\"_blank\" class=\"nlink\">$2</a>"$text);

                      
          $text preg_replace("#(^|[\r\n])([\w]+?://[^ \"\n\r\t<]*)#is""$1<a href=\"$2\" target=\"_blank\" class=\"nlink\">$2</a>"$text); 
          Mal ein paar Codeschnipsel die ich glaub ich aus dem phpBB-Quellcode für meine Page übernommen und mögilcherweise etwas adaptiert habe... Nach dem Muster kannst du vlt. etwas deinen Bedürfnissen entsprechendes bauen.
          Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
          Mark Twain

          Kommentar


          • #6
            bei regulären ausdrücken muss ich leider passen

            Kommentar


            • #7
              Dann arbeite mit strpos() oder schau dir ein paar RegExp-Tutorials an...
              Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
              Mark Twain

              Kommentar


              • #8
                Zitat von pHleX
                bei regulären ausdrücken muss ich leider passen
                Dann änder das halt mal!

                Kommentar


                • #9
                  LESEN und dann TESTEN

                  irgendwann hat man's dann schon raus

                  Kommentar

                  Lädt...
                  X