Hallo Leutz,
ich habe ein Problemchen mit einem regulären Ausdruck, mit dem ich Links in einem Text anklickbar mache. Dazu nutze ich folgende Funktion:
Das funktioniert auch super soweit. Das einzigste Problem ist, wenn ich einen Link im Text habe, der in runde Klammern eingeschlossen ist oder dem am Ende ein Punkt oder ein Komma (also irgend ein Zeichen außer einer Leerstelle) folgt. In diesem Fall wird das Zeichen hinter der URL leider mit als Link übernommen:
Habe ich also folgenden Text:
Wird durch die Funktion leider dieser Link eingefügt:
Code:
Klickt man den Link dann an, funktioniert dieser natürlich nicht. Also müsste ich den Ausdruck so umändern, dass Punkt, Komma, Klammern, Eckige Klammern u.s.w. am Ende nicht für den Link übernommen werden.
Ich hab schon rumprobiert, da ich aber in dem Thema auch nicht so fit bin, komme aber nicht auf die Lösung
Jemand eine Idee?
Grüße und danke schonmal für die Hilfe.
Oneside
ich habe ein Problemchen mit einem regulären Ausdruck, mit dem ich Links in einem Text anklickbar mache. Dazu nutze ich folgende Funktion:
PHP-Code:
function html_activate_links($string) {
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$string = preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=\"_blank\" title=\"\\2\\3\">\\2\\3</a>\\4",$string);
return $string;
}
Habe ich also folgenden Text:
Code:
Blindtext Blindtext (siehe http://www.xyz.de). Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext
Code:
Code:
<a href="http://www.xyz.de).">http://www.xyz.de).</a>
Ich hab schon rumprobiert, da ich aber in dem Thema auch nicht so fit bin, komme aber nicht auf die Lösung
Jemand eine Idee?
Grüße und danke schonmal für die Hilfe.
Oneside
Kommentar