LINUX.ORG.RU

Скобки в ссылках


0

0

Не знаю, поднимался уже этот вопрос или нет, но все знают, что на ЛОРе немного туповатое автоопределение ссылок - оно не включает скобку в конце, если она должна входить в ссылку. Логика тут простая: в большинстве случаев, если есть открывающая скобка [(], то должна быть и закрывающая [)]. То есть алгоритм очевиден: если в последней части ссылки есть "(", то ")", если таковая имеется, должна входить в автоурл. Ма-акс, сдела-ай?

PS. Проверка:

http://ru.wikipedia.org/wiki/Скобки_(значения)

(http://ru.wikipedia.org/wiki/Скобки_(значения))

http://ru.wikipedia.org/wiki/Скобки_(знач)ения)

★★★★★
Ответ на: комментарий от maxcom

(?:(?:(?:(?:https?://)|(?:ftp://)|(?:www\\.))|(?:ftp\\.))[a-z0-9.-]+\\.[a-z]+(?
::[0-9]+)?(?:/(?:([\\w=?:+/\\[\\]~&%;,._#-]|(\\([^\\)]*\\)))*([\\w=?+/~&%-]|(\\(
[^\\)]*\\))))?)?)|(?:mailt o: ?[a-z0-9+]+@[a-z0-9.-]+.[a-z]+)

работает так http://pic.ipicture.ru/uploads/081210/3zYtJ3OGTD.jpg

вот версия без экранирования слешей

(?:(?:(?:(?:https?://)|(?:ftp://)|(?:www\.))|(?:ftp\.))[a-z0-9.-]+\.[a-z]+(?::[
0-9]+)?(?:/(?:([\w=?:+/\[\]~&%;,._#-]|(\([^\)]*\)))*([\w=?+/~&%-]|(\([^\)]*\))))
?)?)|(?:mailt o: ?[a-z0-9+]+@[a-z0-9.-]+.[a-z]+)

ps. имхо слишком навороченно, проще сделать отбивку пробелами. Прошу извенить за преформаттед, ибо иначе втыкает пробелы

wfrr ★★☆
()
Ответ на: комментарий от wfrr

гениально... надеюсь, что примут.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от alexsaa

найдутся умники запихнувшие в скобки пробел и возмущающиеся что не пашет, для всех всеравно не напишешь, найдется умник и не один у которого не будет распознаваться.

wfrr ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.