[Funktion] URLs automatisch erkennen und verlinken

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

  • [Funktion] URLs automatisch erkennen und verlinken

    Hallo!

    Gibt es eine PHP-Funktion, die URLs automatisch erkennt und mit HTML in einen Link umwandelt?

    Beispiel: in einem Text wird eine URL angegeben:

    Text Text Text http://www.angegebene-homepage.de Text Text Text

    Ist es mit PHP nun möglich, nur die URL in einen Link zumzuwandeln, den Text unverändert wiederzugeben?`

    Vielen Dank für die Hilfe!!

    Gruß
    CentennialDawg

    edit:
    ok, wie ich sehe gibt es diese Funktion, aber wie heißt sie? ich habs nämlich noch nicht gefunden...

  • #2
    Mir regex?

    Sprich preg_replace
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      und du hast bei google wirklich gar nicht gefunden? hm...

      Kommentar


      • #4
        $string = preg_replace("/([a-zA-Z0-9]+):\/\/([^\s\"\]]+)/e"], "parse_url('\\1', '\\2')", $string);

        function parse_url($protocol, $link)
        {
        if(strlen($link) > 60)
        $slink = substr($link, 0, 60/2)."...".substr($link, -(60/2-3));
        else
        $slink = $link;

        return "<a href=\"".$protocol."://".$link."\">".$protocol."://".$slink."</a>";
        }

        Parsed die URL und kürzt sie auf 60 Zeichen
        Zuletzt geändert von Luke; 10.06.2006, 19:53.

        Kommentar


        • #5
          Original geschrieben von Luke
          $string = preg_replace("/([a-zA-Z0-9]+):\/\/([^\s\"\]]+)/e"], "parse_url('\\1', '\\2')", $string);

          bubububub://bljablja ist also url?

          function parse_url($protocol, $link)
          {
          if(strlen($link) > 60)
          $slink = substr($link, 0, S_MAX_URL_LENGTH/2)."...".substr($link, -(S_MAX_URL_LENGTH/2-3));
          else
          $slink = $link;

          return "<a href=\"".$protocol."://".$link."\">".$protocol."://".$slink."</a>";
          }

          Parsed die URL und kürzt sie auf 60 Zeichen
          hast du nicht so ein komische gefühl, dass parse_url eine standartfunktion von php ist, und erwartet nur 1 Parameter?
          http://de2.php.net/manual/de/function.parse-url.php
          Slava
          bituniverse.com

          Kommentar


          • #6
            > bubububub://bljablja ist also url?
            exacto. ed2k://|file|Principia.Discordia.pdf|9646345|4D2A902BF920FCE9A4F9BC5998D57B96|/ auch.

            > hast du nicht so ein komische gefühl, dass parse_url eine standartfunktion von php ist

            jetzt wo du's sagst. Aber hatte es in ner Klasse, da hat's keine probleme gemacht

            Kommentar


            • #7
              einfach und ohne extras
              $pattern = '/\b((http:\/\/|https:\/\/|www\.)[^\s]+\.[a-z]{2,4})\b/s';
              $ersatz = '<a href="$1">$1</a>';


              echo preg_replace($pattern, $ersatz, $TXT);
              Slava
              bituniverse.com

              Kommentar


              • #8
                So geht's auch

                Kommentar

                Lädt...
                X