Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   поиск ссылок на странице (https://javascript.ru/forum/project/23691-poisk-ssylok-na-stranice.html)

devote 04.12.2011 10:57

Цитата:

Сообщение от trikadin
devote, на самом деле, более хорошим решением (на мой взгляд) будет не заматчивание этой ссылки. Потому что далеко не все люди ставят пробелы перед дефисом, как это не печально:

Ну ты насмешил... Если уж на то пошло, то тогда вообще придумывать эти реги нет смысла, люди могут что угодно сделать и как угодно написать... всем все равно не угодишь... поэтому если юзер глупый, то понятно дело что он будет ссылку дополнять чем угодно... У меня таких знакомых и друзей нет, которые дописывают что-то в ссылку... Это ссылка и она обязана быть разделена пробелом... Если люди этого не понимают, их проблемы.

Gozar 04.12.2011 11:03

Т.к. в адресную строку теперь пихают не только английские символы, то я решил не усложнять дальше регу, как предполагалось изначально:
В консоль:
' ссылками:[url]www.google.ru[/url] даже проверь свою регу.,карту google.ru.maps [url]http://maps.google.ru/maps/pre-fixфыва[/url] бла тестссылка:[url]http://дердымцопцоп,.ru/[/url] ну ылку: [url]http://testdomen/blabla/[/url] за ссылку, [url]http://votrube.ru/uploads/posts/2011-12/1322827006_-(www.votrube.ru)2.jpg или просто http://ru,.ru/ну или просто тhttp://translate.google.ru/?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=en&tl=ru&text=Possibly+another+solution+would+be+to+have+the+description+text+hidden+by+default+and+only+shows+when+the+title+is+focused%2Fhovered+over.%0D%0A%0D%0A+Here%27s+an+example%3A+http%3A%2F%2Fwww.1true.co.uk%2Ffastscroll.html&file=#en|ru|Mistletoe,'.replace("\[(\\)?url\]").replace(/\[[/]?url\]/g,"").match(/(http(s)?:\/\/)?(www\.)?([-.a-z0-9]+)\.(ru|com|net){1}((\/)+[-$_.,+=:;/|?@&#%a)(-z0-9]+)?(?=\b)/ig)


а пойти другим путем: сначала искать в тексте совпадения не придирчивое, а затем вычленять русские и английские урлы раздельно и дальше проверять их на совпадения, возможно от этого программа только выиграет.

Цитата:

Сообщение от devote (Сообщение 140645)
Ну ты насмешил... Если уж на то пошло, то тогда вообще придумывать эти реги нет смысла, люди могут что угодно сделать и как угодно написать... всем все равно не угодишь... поэтому если юзер глупый, то понятно дело что он будет ссылку дополнять чем угодно... У меня таких знакомых и друзей нет, которые дописывают что-то в ссылку... Это ссылка и она обязана быть разделена пробелом... Если люди этого не понимают, их проблемы.

Вообще-то это проблемы людей, которые потом будут читать текст и не смогут в один клик перейти по ссылке.

ps: replace(/\[[/]?url\]/g,"") просто вырезает ненужные [url] этого форума

devote 04.12.2011 11:08

Цитата:

Сообщение от Gozar
Вообще-то это проблемы людей, которые потом будут читать текст и не смогут в один клик перейти по ссылке.

Человек, который элементарно не может отделить ссылку от текста, врядли напишет что-то дельное... Это мое мнение, я вас не заставляю его придерживаться. Если человек пишет дельную статью, сомневаюсь что он ее напишет в одной строке. ИМХО

trikadin 04.12.2011 11:11

Цитата:

Сообщение от devote
Ну ты насмешил... Если уж на то пошло, то тогда вообще придумывать эти реги нет смысла, люди могут что угодно сделать и как угодно написать... всем все равно не угодишь... поэтому если юзер глупый, то понятно дело что он будет ссылку дополнять чем угодно... У меня таких знакомых и друзей нет, которые дописывают что-то в ссылку... Это ссылка и она обязана быть разделена пробелом... Если люди этого не понимают, их проблемы.

Рад, что поднял вам настроение) Но вообще, я не собирался этого делать. Я привёл пример, который иллюстрирует мои слова. Дело не в глупости пользователя - он не знает (и не обязан знать), как работает ваш регулярное выражение. Поэтому, если он скинет другу ссыль типа такой:
Цитата:

http://google.ru-смотри тот сайт про который я говорил
(да-да, среднестатистический пользователь пишет безграмотно) - то ваша рега сделает ссылкой это: "http://google.ru-смотри". Что не круто.

trikadin 04.12.2011 11:12

Цитата:

Сообщение от devote
Человек, который элементарно не может отделить ссылку от текста, врядли напишет что-то дельное... Это мое мнение, я вас не заставляю его придерживаться. Если человек пишет дельную статью, сомневаюсь что он ее напишет в одной строке. ИМХО

С точки зрения человека, дефис - нормальный такой отделяющий символ...

Gozar, а можно посмотреть ваш вариант в действии?)

Gozar 04.12.2011 11:14

Цитата:

Сообщение от trikadin (Сообщение 140651)
а можно посмотреть ваш вариант в действии?)

Тот, который я пишу или тот который выше "В консоль:"?

там добавлено: replace(/\[[/]?url\]/g,"") для чистоты эксперимента

devote 04.12.2011 11:16

Цитата:

Сообщение от trikadin
Что не круто.

Ну значит я из числа большенства, которые не думают о тех кто приписывает дополнительные параметры ссылки... представляю америкосов, у них что в тексте что в ссылке одни и теже латинкие буквы... представляю пишет чел "http://google.ru-see is cool" и что же тогда делать амерскому прогеру? разбираться где ссыль а где текст? учить грамоте скрипт? На сегодняшний день, большая часть сайтов юзает знак дефис в ссылках... дык что тупо их резать чтоль?

trikadin 04.12.2011 11:18

Цитата:

Сообщение от Gozar
"В консоль:"

Не заметил, виноват.

Кстати, в расширенном режиме, внизу есть галка ("Автоматически вставлять ссылки"), которую надо убирать, чтобы не было [url].

Gozar 04.12.2011 11:19

Цитата:

Сообщение от devote (Сообщение 140654)
дык что тупо их резать чтоль?

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

devote 04.12.2011 11:20

единственно е в чем я согласен, дык это в том что апосля доменного имени ничего кроме слеша не должно быть... тоесть в правило нужно добавить исключение что бы такие http://google.ru-blah домены он не ел... а если ссылка указана так: http://google.ru/-blah то это полноценная ссыль


Часовой пояс GMT +3, время: 18:41.