Есть две регулярки:
$html1 = preg_replace('#\b(aaa|aaas|acap|cap|cid|crid|data|dav|dict|dns|fax|file|ftp|go|gopher|h323|http|https|im|imap|ldap|mailto|mid|news|nfs|nntp|pop|pres|rtsp|sip|sips|snmp|tel|telnet|urn|wais|xmpp|about|aim|bolo|btc|bzr|callto|chrome|cvs|daap|ed2k|ed2kftp|feed|fish|git|gizmoproject|iax2|irc|ircs|lastfm|ldaps|magnet|mms|msnim|psyc|rsync|secondlife|skype|ssh|svn|sftp|smb|sms|soldat|steam|unreal|ut2004|view-source|vzochat|webcal|xfire|ymsgr)://[^\s\'"><]+#i', '<a href="$0">$0</a>', $rows_2['comment']);
$html = preg_replace('/vk.com\/([^\s]+)/i', '<a href="https://vk.com/$1" target="_blank">vk.com/$1</a>', $html1);
Если имеется две ссылки:
vk.com/* и https:/vk.com/*, то вторая превращается в это:
<a href="https://<a href=" https:="" vk.com="" settings?act="deactivate."">https://vk.com/settings?act=deactivate.</a>
(пример)
Как можно исправить? До меня не доходит.