
mam następujący problem. napisałem prostą funkcję, która ma za zadanie zmianę zwykłego tekstu na link.
Funkcja ta akceptuje takie formy jak: "www.example.com", "example.com" oraz "http://www.example.com" + dalsze części adresu, np. zmienne get w PHP

i nie mam zielonego pojęcia, dlaczego gdy jako string podam np: "nic.pl" to usuwa mi literkę "n".
Jakby jeszcze tego było mało, to jeśli napiszę
"dsadnnndsfsd nic.pl dfsdkfjnnnnnnds" to funkcja zwróci
"dsaddsfsd ic.pl dfsdkfjds"
Tak samo jest z literami "s" i "b".
Podejrzewałem że n jest traktowane jako "\n" no tylko problem w tym że string który dostaję się do funkcji nie jest wcześniej formatowany ;/
no i dlaczego wtedy b tez jest usuwane, a np r nie (\r)

szukałem w googlach i nic nie znalazlem :/
oto kod:
$string = preg_replace("@([\s ]+|^)(https?:\/\/)?(((\w+\.)+\w{2,3})(\/.*?(\.\w+)?((\?|#|%)?[a-aZ-Z-0-9-&\-=_]+)?)?)([\s ]+|$)@", " <a class=\"sbLink\"href=\"http:\/\/\\3\">\\3</a> ", $string); return $string; }
z góry dzięki za pomoc
