Есть регулярка, которая вытаскивает все ссылки из текста и оборачивает их в теги a
"/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"
Но она достает и ссылки, которые уже находятся в href.
Дописываю вот так
"/[^\'\"](http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"
Вроде работает, но перестает обрабатываться ссылка, которая идет самая первая, то есть та, перед которой нет ничего.
Что не так?