[PHP5] Link in String erkennen, klappt nicht ganz!!

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

  • [PHP5] Link in String erkennen, klappt nicht ganz!!

    Hi,

    wenn die Daten aus der Datenbank ausgelesen und angezeigt werden, sollen die Links (http, www, usw) innerhalb des Strings erkannt und als solches angezeigt werden.

    Dafür verwende ich folgendes Script:

    function str2link($string){

    $string= preg_replace('/[^href=\'|href=\\"|\>][^http:\/\/](www.[a-zA-Z0-9._-]+)/', ' http://$1', $string);

    $string= preg_replace('/([^href=\'|href=\\"|\>]http:\/\/[a-zA-Z0-9._-]+|[^href=\'|href=\\"|\>]https:\/\/[a-zA-Z0-9._-]+|[^href=\'|href=\\"|\>]ftp:\/\/[a-zA-Z0-9._-]+)/', "<br><br><a href='$0' target='_blank'>$0</a>", $string);

    return $string;
    }
    Es klappt auch mit Links wie www.google.de oder http://yahoo.com. wunderbar.

    Das Problem ist aber, dass wenn der Link wie folgt aussieht:

    www.google.de/art/test.php

    dann wird nur www.google.de als Link erkannt und der Rest nicht.

    Kennt jemand eine Lösung??

    Danke
    Zuletzt geändert von bigtail; 25.10.2006, 20:40.

  • #2
    vermutlich muss du zu deinen suchzeichen [a-zA-Z0-9._-] noch ein / rein schreiben
    [a-zA-Z0-9._\-\/]
    auserdem kann eine url die parameter haben in dennen auch ,=?&% und nicht zuletzt # vorkommen können.
    also schreib am bestens einfach statt [a-zA-Z0-9._\-\/] ein \S
    Zuletzt geändert von Slava; 25.10.2006, 21:00.
    Slava
    bituniverse.com

    Kommentar

    Lädt...
    X