Я рассмотрел эту проблему в прошлом году и разработал решение, на которое вы, возможно, захотите взглянуть. См .: URL Linkification (HTTP / FTP) Эта ссылка является тестовой страницей для решения Javascript, в котором многопримеры сложных для ссылки URL-адресов.
Мое решение для регулярных выражений, написанное как для PHP, так и для Javascript - (но его можно легко перевести на Ruby), не простое (но, как выясняется, и это не проблема).Для получения дополнительной информации я бы рекомендовал также прочитать:
Проблема с URL-адресами Джеффа Этвуда и
Улучшенный либеральный, точный шаблон регулярных выражений для сопоставления URL-адресов отДжон Грубер
Комментарии к сообщению в блоге Джеффа необходимо прочитать, если вы хотите сделать это правильно ...