Получение частей URL в JavaScript - PullRequest
2 голосов
/ 02 января 2011

Я должен сопоставить URL-адреса в тексте, связать их, а затем отобразить пользователю только имя хоста - имя домена или IP-адрес. Как я могу продолжить работу с JavaScript?

Спасибо.
PS: пожалуйста, не говорите мне о этом ; эти регулярные выражения настолько глючные, что не могут соответствовать http://google.com

1 Ответ

2 голосов
/ 02 января 2011

Если вы не хотите использовать регулярные выражения , тогда вам нужно будет использовать такие вещи, как indexOf и тому подобное.Например, ищите «: //» в тексте каждого элемента, и если вы найдете его и бит перед ним выглядит как протокол (или «схема»), возьмите его и следующие символы, которые являются допустимыми символами URI.( RFC2396 ).Если результат заканчивается точкой или вопросительным знаком, удалите точку или вопрос (вероятно, он заканчивает предложение).Больше сказать нечего.

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

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

/[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//

... вполне может быть полезным способом найти начало URL-адреса, поскольку часть схемы должна начинаться с альфы, а затем может иметь ноль илибольше букв, цифр, +, - или . до : ( раздел 3.1 ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...