Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.03.2012, 03:15
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Регулярка, удалить www из адреса
Из веб-адресов нужно удалить www которые иногда идут впереди, при этом не сломать сам адрес, тоесть:

www.site.com -> site.com
www.sitewww.com -> sitewww.com
www.ru - > www.ru
org.ua -> org.ua

у меня не выходит.
Ответить с цитированием
  #2 (permalink)  
Старый 27.03.2012, 04:10
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

/www\.(?=\w+(\.\w+)+$)/

и далее изменять или увеличивать сложность по мере необходимости учета всех возможных вариантов.
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2012, 08:44
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

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"));


Если же вам (вероятнее всего ) нужна замена в строке всех ссылок, то как-то так:

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));


Мой вариант не идеален, но что-то он может...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 27.03.2012 в 08:53.
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2012, 11:03
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

А это уже на катит?

var url = window.location;
url.host + url.pathname;

Последний раз редактировалось monolithed, 27.03.2012 в 11:05.
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2012, 11:05
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

monolithed, мм... А причём тут это?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 27.03.2012, 13:25
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от trikadin
мм... А причём тут это?
Ну как, если Magneto получает адрес из Location, то это самый верный вариант, если же строку, то тогда мимо.
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2012, 14:07
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

monolithed,
Как твое предложение в целом, вне зависимости от источника строки, помогает в решении проблемы - удалить ведущий префикс в www.example.com, но оставить в www.ru?
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2012, 15:15
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от monolithed
Ну как, если Magneto получает адрес из Location, то это самый верный вариант, если же строку, то тогда мимо.
Да, я понимаю. Просто ему, судя по посту, нужно удалять это из многих разных ссылок... Поэтому регулярки.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2012, 15:56
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сразу не заметил 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
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 27.03.2012 в 16:08.
Ответить с цитированием
  #10 (permalink)  
Старый 27.03.2012, 16:52
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Сообщение от monolithed
Ну как, если Magneto получает адрес из Location, то это самый верный вариант, если же строку, то тогда мимо.
Я получаю адрес как строку.

Теперь, пожалуйста, помогите распарсить html-страницу.
Имеется обычная html-страница, я ее получаю через ajax. В этой странице между тегами <title></title> находится нужное мне число, нужно вытащить это число. Пример страницы:
<!-- Здесь начало страницы-->

<title>
(url:www.rambler.ru/* | url:rambler.ru /* | url:rambler.ru | url:www.rambler.ru) -
Яндекс:
нашёлся 1231&nbsp;ответ
</title>

<!-- И дальше конец страницы -->


Нужное число в данном примере 1231, число может быть от 0 и до бесконечности.

Последний раз редактировалось Magneto, 27.03.2012 в 17:01.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уничтожение E-mail адреса. Duda.Ml1986@gmail.com Оффтопик 19 07.02.2012 13:07
Можно ли удалить клонированный объект Евгений_86 jQuery 6 13.04.2011 12:54
Не могу выбрать и удалить клонируемые элементы AlexPrm jQuery 6 30.05.2010 15:58
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03
Не подключается CSS (путь без www) greatilya Серверные языки и технологии 3 03.08.2009 09:31