2016-04-24 17 views
0

Mein Code ersetzt "Standard" Link zu klickbaren Link, wenn Sie wissen, was ich meine;/ Wenn im Text nur 1 URL alle woks gut ist, aber wenn in String mehr als 1 URL alle Links beginnen zu sein gleich. Am BeispielLink anklickbar machen

„Hier mein erstes Video LINK1 ist und hier ist mein zweites Video LINK2“

Nach diesem Text wie folgt aussehen tun funktionieren:

„Hier mein erstes Video LINK1 ist und hier ist mein zweite Video LINK1"

LINK2 beginnen LINK1

Meine Funktion

function DoLinks($link){ 
    $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; 

    $text = $link; 
    if(preg_match($reg_exUrl, $text, $url)) { 
     // DO IT! 
     $linh = $url[0]; 
     return preg_replace($reg_exUrl, "<a class='linka' href='$linh'>$linh</a> ", $text); 
    } else { 
     return $text; 
    } 
} 
zu sein

Meine Frage ist, wie das LINK2 beginnen zu tun LINK2 nicht LINK1

+0

Was ist die Frage? Sollte das 'preg_match' nicht benötigen. – chris85

+0

Vielleicht, https://eval.in/558898? – chris85

+0

oh, danke m8 =) – DKNS

Antwort

0

vielleicht wollen Sie so etwas wie zu sein:

function DoLinks($text) { 
    return preg_replace ('/((?:http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(?:\/\S*)?)/', '<a href="$1">$1</a>', $text); 
} 
Verwandte Themen