Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.03.2012, 17:25
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Magneto, сплошные если:
1. если я Вас правильно понял
2. если кроме этого числа в данной строке чисел нет
3. если оно целое
var page = '<!-- Здесь начало страницы-->\
			\
			<title>\
			(url:[url]www.rambler.ru/*[/url] | url:rambler.ru /* | url:rambler.ru | url:[url]www.rambler.ru[/url]) -\
			Яндекс:\
			нашёлся 1231&nbsp;ответ\
			</title>\
			\
			<!-- И дальше конец страницы -->';

var re = /<title>[\S\s]*?(\d+)[\S\s]*?<\/title>/im;

alert( re.exec( page )[ 1 ] );

Но, если имеется перевод строк, проще найти <title>, затем бить по ним и искать от конца к началу (если в строе имеются еще числа).
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #12 (permalink)  
Старый 27.03.2012, 17:27
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

var e='<title>(url:[url]www.rambler.ru/*[/url] | url:rambler.ru /* | url:rambler.ru | url:[url]www.rambler.ru[/url]) -Яндекс:нашёлся 1231&nbsp;ответ</title>';
var reg_exp=/<title>(?:.*)\s(\d+)(?:.*)<\/title>/im;
var match=e.match(reg_exp);
if(match){alert(match[1]);}else{alert('нету');}

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

Сообщение от Maxmaxmахimus
вдруг чисел будет много а тебе нужно именно то, что после "нашелся"
Но если там будет число 1345, то предложение будет иметь следующий вид: Яндекс:нашлось 1345&nbsp;ответов
Ответить с цитированием
  #14 (permalink)  
Старый 27.03.2012, 17:53
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Сообщение от nerv_
Magneto, сплошные если:
1. если я Вас правильно понял
2. если кроме этого числа в данной строке чисел нет
3. если оно целое
Это всегда целое число, и числа могут попадаться в круглых скобках в которых перечисленны сайты. тоесть типа:
<!-- Здесь начало страницы-->

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

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

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

Сообщение от Maxmaxmахimus
выучи уже регулярки, у меня 4 часа на это ушло могу рассказать секрет
Так говори, так сказать: По секрету всему свету.
Ответить с цитированием
  #16 (permalink)  
Старый 27.03.2012, 18:51
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

var page = '<!-- Здесь начало страницы-->\
			\
			<title>\
			(url:[url]www.12244rambler.ru/*[/url] | url:ra335435mbler.ru /* | url:666.ru | url:[url]www.rambler788.ru[/url]) -\
			Яндекс:\
			нашёлся 1231&nbsp;ответ\
			</title>\
			\
			<!-- И дальше конец страницы -->';

var temp = /<title>[\S\s]+?<\/title>/im.exec( page )[ 0 ];

alert( /\d+(?=\D+$)/.exec( temp )[ 0 ] );

Maxmaxmахimus, хватит обманывать человека) Никакого секрета нет. Главное логику понять

Я уже говорил и повторюсь:
1. Регулярные выражения - прочитать и добавить в закладки. Как только потребуется шаблон составить, открываете и смотрите по таблице.
2. Особенности регулярных выражений в Javascript - прочитать и попытаться понять.
3. После первых двух пунктов уже можно что-то делать. Для полного понимания происходящего Дж.Фридл - Регулярные выражения первые 6-ть глав.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 27.03.2012 в 18:58.
Ответить с цитированием
  #17 (permalink)  
Старый 27.03.2012, 20:26
Интересующийся
Отправить личное сообщение для x15nicky Посмотреть профиль Найти все сообщения от x15nicky
 
Регистрация: 21.07.2011
Сообщений: 11

регулярки хороши универсальностью, но плохи ясностью a в этом случае еще и скоростью работы. думаю, такой вариант меня бы устроил:
function strip_www(dom)
{
  if (dom.substr(0,4)=='www.')
    return dom.substr(4,dom.length);
  else
  return dom;
}
Ответить с цитированием
  #18 (permalink)  
Старый 27.03.2012, 20:37
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от Magneto Посмотреть сообщение
Я получаю адрес как строку.

Теперь, пожалуйста, помогите распарсить 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 и до бесконечности.
Если в этой строке будут только одно число, то не легче:
<title>
(url:www.rambler.ru/* | url:rambler.ru /* | url:rambler.ru | url:www.rambler.ru) -
Яндекс:
нашёлся 1231&nbsp;ответ
</title>
<script>
var a = document.getElementsByTagName('title')[0].innerHTML
a = a.match(/(\d+)/)[0]
alert(a)
</script>
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 27.03.2012 в 20:42.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уничтожение 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