Я использую этот замечательный плагин: https://github.com/maranomynet/linkify/blob/master/1.0/jquery.linkify-1.0.js
для ссылки на текст, манипулирующий домом. Проблема с такими ссылками: http://en.wikipedia.org/wiki/The_Godfather_(novel)
Ссылка будет "http://en.wikipedia.org/wiki/The_Godfather_(novel"
Что я могу изменить в коде linkify для обработки скобок и т. Д.?
Спасибо!
PS: Эй, похоже, что Stackoverflow тоже может это использовать! хаха;)
РЕДАКТИРОВАТЬ:
Я только что видел сообщение о DaringFireball, оно отлично работает ... Проблема в простых URL-адресах, таких как www.google.com (я думаю, что это связано с первым регулярным выражением для noProtocolUrl). у нас есть прямо сейчас:
var noProtocolUrl = /(^|["'(\s]|<)(www\..+?\..+?)((?:[:?]|\.+)?(?:\s|$)|>|[)"',])/g,
httpOrMailtoUrl = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:(?:[^\s()<>.]+[.]?)+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,
linkifier = function (html) {
return FormatLink(html
.replace(noProtocolUrl, '$1<a href="<``>://$2" rel="nofollow external" class="external_link">$2</a>$3') // NOTE: we escape `"http` as `"<``>` to make sure `httpOrMailtoUrl` below doesn't find it as a false-positive
.replace(httpOrMailtoUrl, '<a href="$1" rel="nofollow external" class="external_link">$1</a>')
.replace(/"<``>/g, '"http')); // reinsert `"http`
},
С помощью "www.facebook.com" я получаю это (с атрибутами rel и class, такими как текст рядом с ссылкой:
www.facebook.com" rel="nofollow external" class="external_link">www.facebook.com