Регулярка, удалить www из адреса
Из веб-адресов нужно удалить www которые иногда идут впереди, при этом не сломать сам адрес, тоесть:
www.site.com -> site.com www.sitewww.com -> sitewww.com www.ru - > www.ru org.ua -> org.ua у меня не выходит. |
/www\.(?=\w+(\.\w+)+$)/
и далее изменять или увеличивать сложность по мере необходимости учета всех возможных вариантов. |
Magneto, рискну предложить свой вариант (хоть и не ручаюсь за него после бессонной ночи). По сути, www идёт либо в самом начале (если протокол не указан), либо после двух слешей. Чтобы не сломать адрес, который идёт потом, надо задуматься о количестве точек до пути на сервере (от которого host-имя отделено слешем). Если там только одна точка, то www - это название сайта, если больше - это ненужный нам архаизм.
function replace_www(str) { return str.replace(/(?:((?:\/\/)|^)www\.)(?=[^/]*?\.)/i, "$1"); } alert(replace_www("www.site.com")); alert(replace_www("www.sitewww.com")) alert(replace_www("www.ru")); alert(replace_www("http://yandex.ru")); Если же вам (вероятнее всего :D) нужна замена в строке всех ссылок, то как-то так: function replace_www(str) { return str.replace(/(?:((?:(?:\/\/)|^)|\s)www\.)(?=[^/\s$]*?\.)/gi, "$1"); }; str= "www.org.ua, www.ru, www.ru/savva.ss, www.sitewww.ru, http://www.yandex.ru"; alert(replace_www(str)); Мой вариант не идеален, но что-то он может... |
А это уже на катит?
var url = window.location; url.host + url.pathname; |
monolithed, мм... А причём тут это?
|
Цитата:
|
monolithed,
Как твое предложение в целом, вне зависимости от источника строки, помогает в решении проблемы - удалить ведущий префикс в www.example.com, но оставить в www.ru? |
Цитата:
|
Сразу не заметил www.ru :)
var re = /^w{3}\.(?=[^.]+\.)/; alert( 'www.site.com'.replace( re, '' ) ); // site.com alert( 'www.sitewww.com'.replace( re, '' ) ); // sitewww.com alert( 'www.ru'.replace( re, '' ) ); // [url]www.ru[/url] alert( 'org.ua'.replace( re, '' ) ); // org.ua |
Цитата:
Теперь, пожалуйста, помогите распарсить html-страницу. Имеется обычная html-страница, я ее получаю через ajax. В этой странице между тегами <title></title> находится нужное мне число, нужно вытащить это число. Пример страницы: <!-- Здесь начало страницы--> <title> (url:www.rambler.ru/* | url:rambler.ru /* | url:rambler.ru | url:www.rambler.ru) - Яндекс: нашёлся 1231 ответ </title> <!-- И дальше конец страницы --> Нужное число в данном примере 1231, число может быть от 0 и до бесконечности. |
Часовой пояс GMT +3, время: 03:11. |