drugi to:
$text = preg_replace('#((http|https|ftp|ftps)[\w\#$%&~/.\-;:=,?@\(\)]*)#si', '<a href=\1>\1</a>', $text);
Oba kody działają wyśmienicie ALE osobno niestety bo jak pewna część osób już zauważyła gdy chcę aby działały te dwa skrypty to się wzajemnie wykluczają, tj
Jeśli wkleję jakiś link to skrypt nr dwa przekształca go na link ale, jeśli w [url ][ /url] dam jakiś link to oba wyrażenia regularne do niego niestety pasują i w efekcie wychodzi kicha :\ np daję link [url ]http://www.google.pl[ /url] to pierwszy skrypt przekształci go w <a href=http://www.google.pl>http://www.google.pl</a> ale po nim drugie wyrażenie regularne zamieni dalej ten kod na <a href=<a href=>http://www.google.pl</a>><a href=>http://www.google.pl</a></a>
I się wszystko miesza :\
Myślałem nad tym żeby sprawdzić czy został użyty [url] ale to i tak nic nie da na dobrą sprawę...