Поиск ссылки по регулярному выражению в тексте работает некорректно 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 можно было использовать в функциях. Допустим что бы можно было обрезать его или сделать все буквы заглавными


Ответы (0 шт):