В регулярках очень слаб, нашел в интернете решение, что бы отлавливать в тексте ссылки
#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si
Оно работает, но проблема в том, что оно считает так же ссылкой начало текста