Automtischer Link

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

  • Automtischer Link

    Hi zusammen

    Wie kann ich einen Text der eingegeben wird, aus einem http://www.link.net einen funktionierenden Linkklick erstellen?

    Wie es auch hier im Forum der Fall ist.

    Im Prinzip kann ich dies mit replace vor dem Eintrag in die DB erreichen. Nur wie kann ich den tag wieder schliessen?

    Gruss René

    Zuletzt geändert von rönee; 18.07.2005, 19:01.

  • #2
    man könnte preg_replace() dafür nehmen.
    das pattern dazu wäre "ein string beginnt mit http(s):// bzw. ftp:// oder einfach www. und endet mit einem beliebigen leerzeichen". oder?

    Kommentar


    • #3
      Such auch mal nach fertigen Funktionen im Forum.

      Kommentar


      • #4
        Hi habe so einiges gefunden, vom Tut von Sky bis hin zu verschiedenen CODE Schnipsel.

        Leider verstehe ich das Tut von Sky nicht recht und die Schnipsel funktionieren auch nicht so recht.

        PHP-Code:
        $Beitrag preg_replace("/(www)(.)([A-Za-z]{2,3})([A-Za-z0-9.-_/]{0,})b/","
        <a target=\"_blank\" href=\"http://\0\">\0</a>"
        ,$Beitrag); 
        Bei diesem hier wird meine Text gleich komplett geschluckt!

        Wer weis mir noch einen kleinen Rat?

        Danke René

        Kommentar


        • #5
          klingt nach dem modifier U...
          aber evtl. kannst du dir hier noch besseres abgucken:
          http://regexlib.com/DisplayPatterns....1&categoryId=2

          Kommentar


          • #6
            modifier U ?

            ist den das nicht einheitlich?

            Kommentar


            • #7
              Nun habe ich das ganze wei folgt abgeändert. Leider auch ohne Erfolg

              PHP-Code:
              $text preg_replace("^(ht|f)tp(s?)\:\/\/[a-zA-Z0-9\-\._]+(\.[a-zA-Z0-9\-\._]+)
              {2,}(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$"
              ,"<a target=\"_blank\" href=\"http://\0\">\0</a>",$text); 
              Wo mache ich den Fehler, weiss das jemand?
              Zuletzt geändert von rönee; 21.07.2005, 16:17.

              Kommentar


              • #8
                Und noch ein Versuche, welcher im nichts Endet

                Zuletzt geändert von rönee; 21.07.2005, 16:19.

                Kommentar


                • #9
                  Habe nun nocheinmal das tut durchgelesen und mit dem Link von penizillin abgeglichen.

                  Aber leider wird mir noch immer nichts angezeigt! - Kein Text!

                  PHP-Code:
                  $text preg_replace("/^(((ht|f)tp(s?))\://)?
                  (www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.
                  (com|ch|de|net|at|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*
                  (/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$/i"
                  ,
                  "<a target=\"_blank\" href=\"http://\ 0\">\0</a>",$text); 
                  Wo ist nur der Fehler drin?
                  Zuletzt geändert von rönee; 21.07.2005, 16:24.

                  Kommentar


                  • #10
                    Vielleicht hilft dir diese Seite weiter:
                    http://www.regexlib.com/Search.aspx?k=URL

                    Kommentar


                    • #11
                      Ja danke onemorenerd der selbe Link wie penizilin, hat mir auch weitergeholfen, indem ich nun den Platter aus dieser Seite verwende.

                      Nur ist das noch nicht die Lösung, sprich wie oben geschrieben wird noch immer der komplette Text geschluckt.

                      Ich suche weiter nach dem Fehler, wäre um weitere Tips recht froh.

                      Danke René

                      Kommentar


                      • #12
                        Sorry, hatte den Link oben nicht gesehen.

                        Vorweg: Das Forum frißt u.U. bestimmte Schrägstriche, deswegen lieber ohne Tags ...

                        Wie ich das sehe (nur kurz überflogen), muß eine URL bei deinem RegExp am Zeilenanfang beginnen und am Zeilenende enden (^...$). Ist das denn so gewollt?

                        Fang doch mal ganz einfach an - zum Testen - auch wenn dabei erstmal die falschen Links produziert werden. Beispielsweise so:

                        /http:\/\/|www\..*\s/

                        Sobald nicht mehr der ganze Text verschwindet sondern wirklich was erstzt wird, kannst du das ganze dann verfeinern und Fehler beseitigen.

                        Kommentar


                        • #13
                          Versuchs doch mal hiermit:

                          PHP-Code:
                           
                          Edit:
                          Das Forum verhunzt die Regex zu Unkenntlichkeit, ich mach mal einen Anhang!
                          Zuletzt geändert von PhilippM; 21.07.2005, 19:07.

                          Kommentar


                          • #14
                            Anhang
                            Angehängte Dateien

                            Kommentar


                            • #15
                              Original geschrieben von PhilippM
                              Das Forum verhunzt die Regex zu Unkenntlichkeit, ich mach mal einen Anhang!
                              OffTopic:
                              nimmst du code-tags oder zitierst du einen php tag, ist alles wieder da. leider ein bekanntes problem
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X