Automtischer Link

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

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

    Last edited by rönee; 18-07-2005, 18: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?

    Comment


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

      Comment


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

        Comment


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

          Comment


          • #6
            modifier U ?

            ist den das nicht einheitlich?

            Comment


            • #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?
              Last edited by rönee; 21-07-2005, 15:17.

              Comment


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

                Last edited by rönee; 21-07-2005, 15:19.

                Comment


                • #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?
                  Last edited by rönee; 21-07-2005, 15:24.

                  Comment


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

                    Comment


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

                      Comment


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

                        Comment


                        • #13
                          Versuchs doch mal hiermit:

                          PHP Code:
                           
                          Edit:
                          Das Forum verhunzt die Regex zu Unkenntlichkeit, ich mach mal einen Anhang!
                          Last edited by PhilippM; 21-07-2005, 18:07.

                          Comment


                          • #14
                            Anhang
                            Attached Files

                            Comment


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

                              Comment

                              Working...
                              X