Поиск ссылки по регулярному выражению в тексте работает некорректно PHP
Помогите усовершенствовать данный код. На данный момент из ошибок я нашел только то, что если в ссылке присутствует запятые, то он воспринимает ее не правильно. Если вдруг заметите еще какие то ошибки, или то что можно оптимизировать и сделать лучше, дайте знать
(данный код оборачивает все ссылки в тег a)
function link_it($text, $blank) {
$target = (($blank === true) ? ' target=\"_blank\"' : '');
$text = preg_replace('/(http:\/\/|https:\/\/)?(www)?([\da-z\.\-]+)\.([a-z\.]{2,6})([\/\w\.-\?\%\&]*)*\/?/i', "<a href=\"$0\"{$target}>$0</a>", $text);
return $text;
}
Так же еще хотелось бы переделать эту функцию так, что бы параметр $0 можно было использовать в функциях. Допустим что бы можно было обрезать его или сделать все буквы заглавными