Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
1030
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    HerbertJ HerbertJ ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    55
    Hallo Community,

    könnte mir jemand eine RegEx geben um URLs zu prüfen?
    Möchte einfach das wenn ein User bei mir einen URL schreibt, dieser automatisch in einen Link umgewandelt wird, falls er http, https, www oder ftp davor schreibt.

    Beispiel:
    PHP-Code:
    if(preg_match('---code--' $url)) { $echo '<a href="'.$url.'">'.$url.'</a>'; } 
    Vielen Dank
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Code :
    1
    
    #^[a-z0-9]+://#i

    Der findet alles.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    HerbertJ HerbertJ ist offline Mitglied Silber
    Registriert seit
    Oct 2009
    Beiträge
    55
    Danke für die schnelle Antwort, leider funktioniert es nicht wenn ich nur "www.domain.de" schreibe.

    EDIT:
    Habe jetzt eine Lösung gefunden:
    PHP-Code:
    if(preg_match('!^(((ftp|http|https|)://)|www.)+([a-z0-9\.-]{3,})\.[a-z]{2,4}(/)?$!i'$url)) { $input '<a href="'.$url.'" target="_blank">'.$url.'</a>'; } 
    Geändert von HerbertJ (14.11.09 um 14:59 Uhr)
     

  4. #4
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    211
    Zitat Zitat von HerbertJ Beitrag anzeigen
    Danke für die schnelle Antwort, leider funktioniert es nicht wenn ich nur "www.domain.de" schreibe.

    EDIT:
    Habe jetzt eine Lösung gefunden:
    PHP-Code:
    if(preg_match('!^(((ftp|http|https|)://)|www.)+([a-z0-9\.-]{3,})\.[a-z]{2,4}(/)?$!i'$url)) { $input '<a href="'.$url.'" target="_blank">'.$url.'</a>'; } 
    Moin
    Dieser Regexp ist allerdings etwas fehlerhaft...dort gehen auch Domains durch, die so geschrieben wurden: "http://www.domainde"

    Ich stehe auch gerade vor dem problem, eine URL (inkl Pfad) zu Prüfen und habe es inzwischen auf das geschafft:

    Code :
    1
    
    elseif (!preg_match('!^(http|https)+(://)+(www\.)?([a-z0-9\.-]{3,})\.[a-z]{2,6}(\.[a-z]{2,6})?(/)?[COLOR="Red"]([a-z0-9\.\-\+\_\#\?\=\,\/\&\%\;\:]{1,})?[/COLOR]$!i', $_POST['k_url']))

    Dummerweise ist im Rot-Markierten Code auch ein fehler enthalten, sobald dieser Bereich raus ist, wird zumindest die Gültigkeit der TLD geprüft
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 25.06.10, 12:07
  2. Antworten: 1
    Letzter Beitrag: 21.01.08, 16:58
  3. Tokens auf regex prüfen
    Von hispeedsurfer im Forum Java
    Antworten: 10
    Letzter Beitrag: 29.11.06, 09:01
  4. Antworten: 0
    Letzter Beitrag: 01.08.06, 02:22
  5. Vor- und Zuname Userdaten per regex prüfen.
    Von Sandra Haupt im Forum PHP
    Antworten: 4
    Letzter Beitrag: 21.07.04, 04:59