Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Вырезать имя сайта из url


Автор: Deadcow 3.8.2011, 11:40
В функцию передаются ссылки самого разного вида, нужно, что бы она возвращала имя сайта, а всё остальное вырезала.
Первую букву в имени нужно бы делать большой.
Например:
Цитата

http://www.amazon.co.uk/Open-Me-Up-Dorling-Kindersley/dp/1405341602

Должно получиться 
Amazon.co.uk

С учетом, что урл может быть любой сложности, может не содержать приставки http и/или www.

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

Автор: Evghenusi 3.8.2011, 13:20
Код
{^(?:http://www\.|www\.|http://)?([a-zA-Z0-9-.]+)}im
может так? но регуляркой изменить регистр я не знаю как((

Цитата
Вырезать имя сайта из url
 window.location.hostname

Автор: Deadcow 3.8.2011, 21:00
А как с ним работать?
Ввожу так:
Код

var linkReg = /{^(?:http://www\.|www\.|http://)?([a-zA-Z0-9-.]+)}im/;
alert(Data.Links[Linlk].match(linkReg));

Dreamweaver говорит, что в строке ошибка, скрипт не выполняется. 
Я так понимаю тут регулярное выражение обрабатывает многострочные данные? У меня ссылки предоставляются отдельно, по одной.
Совсем в них не разбираюсь smile Сейчас засел за учебник, может и сам чего наковырять смогу smile

Автор: Evghenusi 3.8.2011, 23:04
Цитата(Deadcow @  3.8.2011,  21:00 Найти цитируемый пост)
Я так понимаю тут регулярное выражение обрабатывает многострочные данные? У меня ссылки предоставляются отдельно, по одной.

1) угу
2) тогда без модификатора (флага) m, и правильнее будет так
Код

var linkReg = /^(?:http:\/\/www\.|www\.|http:\/\/)?([a-zA-Z0-9-.]+)/i;

Автор: Deadcow 4.8.2011, 00:55
Спасибо, то что нужно!
А строку я подкручу, сделаю первую букву заглавной, думаю с jQuery эта задача не вызовет трудностей smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)