Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2016, 20:55
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

Регулярные выражения!
Доброго времени суток друзья!
В переменной mass хранятся html теги, из которых нужно выбрать следующее:

"Москва" из => "Город: <strong>Москва</strong>"

"121299294" и "79030116***" из => "Телефон продавца: <a style="font-size: 14pt;" target=_blank href="http://avtomir.ru/a.aspx?control=20&offerid=121299294">79030116***</a>"

"1 099 000 руб." из => Цена: <strong>1 099 000 руб.</strong>

"-337 220 руб." из => "Рассчетное отклонение: <strong><span tooltip="628" style="color: #009900;">-337 220 руб.</span></strong>"

"8" из => "Количество объявлений: <strong style="color: red;font-size: 10pt;" >8</strong>"

"2" из => "Количество различных машин: <strong style="color: red;font-size: 10pt;" >2</strong>"

Спасибо за внимание, буду признателен за любую помощь. Удачи Вам друзья =)

Последний раз редактировалось LungDesire, 05.01.2016 в 21:22.
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2016, 20:57
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

А структуру mass можете показать? (это объект или массив?)
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2016, 23:45
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

В mass просто ответ от web страницы. Банальные html теги. Вряд ли тут будут смотреться html теги полной страницы)) Многовато выходит. Структура mass вероятнее всего - объект)
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2016, 23:54
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

Вот кусочек из mass:
<div><span id="exists"></span><table class=sale-info cellspacing=4 width=100% style="text-align: left; font-size:10pt; border:none;
font-weight: normal; font-family: Tahoma;"><tr style="border:none"><td style="text-align: left; border:none">Дата и время выхода:
<strong>04.01.2016 23:05</strong></td></tr><tr style="border:none"><td style="text-align: left; border:none">Город: <strong>Москва</strong>
</td></tr><tr style="border:none"><td style="text-align: left; border:none">
Телефон продавца: <a style="font-size: 14pt;" target=_blank href="http://avtomir.ru/a.aspx?control=20&offerid=121825824">79099728***</a>
</td></tr></tr><tr style="border:none"><td style="text-align: left; border:none">
Сотовый оператор: г. Москва и Московская область</td></tr>
<tr style="border:none"><td style="text-align: left; border:none">Цена: <strong>1 099 000 руб.</strong></td>
</tr><tr style="border:none"><td style="text-align: left; border:none">Рассчетное отклонение:
<strong><span tooltip="628" style="color: #009900;">-337 220 руб.</span></strong></td></tr><tr style="border:none">
<td style="text-align: left; border:none"><br />Количество объявлений:
<strong style="color: red;font-size: 10pt;" >78</strong><br />Количество различных машин: <strong style="color: red;font-size: 10pt;" >22</strong>
<br /><br /><br clear="all"/>

Как видно значения, которые необходимо извлечь - меняются!
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2016, 05:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Вариант:
<script type="text/javascript">
window.onload = function() {
var str = document.getElementById('text').innerHTML;
alert(str.replace(/<[^<>]*>/gm,''));
};
</script>


<div id="text" style="display:none">


<div><span id="exists"></span><table class=sale-info cellspacing=4 width=100% style="text-align: left; font-size:10pt; border:none;
 font-weight: normal; font-family: Tahoma;"><tr style="border:none"><td style="text-align: left; border:none">Дата и время выхода:
 <strong>04.01.2016 23:05</strong></td></tr><tr style="border:none"><td style="text-align: left; border:none">Город: <strong>Москва</strong>
 </td></tr><tr style="border:none"><td style="text-align: left; border:none">
 Телефон продавца: <a style="font-size: 14pt;" target=_blank href="http://avtomir.ru/a.aspx?control=20&offerid=121825824">79099728***</a>
 </td></tr></tr><tr style="border:none"><td style="text-align: left; border:none">
 Сотовый оператор: г. Москва и Московская область</td></tr>
 <tr style="border:none"><td style="text-align: left; border:none">Цена: <strong>1 099 000 руб.</strong></td>
 </tr><tr style="border:none"><td style="text-align: left; border:none">Рассчетное отклонение: 
 <strong><span tooltip="628" style="color: #009900;">-337 220 руб.</span></strong></td></tr><tr style="border:none">
 <td style="text-align: left; border:none"><br />Количество объявлений: 
 <strong style="color: red;font-size: 10pt;" >78</strong><br />Количество различных машин: <strong style="color: red;font-size: 10pt;" >22</strong>
 <br /><br /><br clear="all"/>

</div>

</body>
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2016, 06:18
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

Спасибо за совет. Непременно учту ваше регулярное выражение =)
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2016, 11:52
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

А на выходе что вы хотите получить? объект типа:
var rezult = {
   city:    "",
   offerId: "",
   phone:   "",
   ...
   kolAvto: ""
};

или что-то другое?
И сколько из mass надо результатов? (из каждой mass 1 результат, или в mass может быть сколько угодно результатов?

Последний раз редактировалось Keramet, 07.01.2016 в 11:54.
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2016, 16:37
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

Из mass по сути необходимо выбрать: [04.01.2016 23:05], [Москва], [121825824],[79099728***], [1 099 000 руб.],[-337 220 руб.],[78],[22]. В целом у каждого значения своё имя, так же как вы указали выше. Это возможно?
Ответить с цитированием
  #9 (permalink)  
Старый 08.01.2016, 16:39
Интересующийся
Отправить личное сообщение для LungDesire Посмотреть профиль Найти все сообщения от LungDesire
 
Регистрация: 18.08.2015
Сообщений: 18

В mass полный ответ от web страницы, так что все строки для поиска будут в mass - сколько угодно результатов!
Ответить с цитированием
  #10 (permalink)  
Старый 08.01.2016, 21:08
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

А если так попробовать:
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8"/>
	<title>IiT</title>
	<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
        <script>
		$(function() {
			var values = [],     // массив искомых значений
				txt;
			$("td").each(function(n) {
				txt = this.innerText;
				values.push( txt.substring(txt.indexOf(':')+1).trim() );
			});
			alert(values);
		});
	</script>
</head>

<body>
	<div><span id="exists"></span>
		<table class=sale-info cellspacing=4 width=100% style="text-align: left; font-size:10pt; border:none; font-weight: normal; font-family: Tahoma;">
			<tr style="border:none">
				<td style="text-align: left; border:none">Дата и время выхода:<strong>04.01.2016 23:05</strong></td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Город: <strong>Москва</strong></td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Телефон продавца: <a style="font-size: 14pt;" target=_blank href="http://avtomir.ru/a.aspx?control=20&offerid=121825824">79099728***</a></td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Сотовый оператор: г. Москва и Московская область</td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Цена: <strong>1 099 000 руб.</strong></td>
			</tr>
			<tr style="border:none">
			<td style="text-align: left; border:none">Рассчетное отклонение:<strong><span tooltip="628" style="color: #009900;">-337 220 руб.</span></strong></td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Количество объявлений:<strong style="color: red;font-size: 10pt;" >78</strong></td>
			</tr>
			<tr style="border:none">
				<td style="text-align: left; border:none">Количество различных машин: <strong style="color: red;font-size: 10pt;" >22</strong></td>
			</tr>
		</table>
	</div>
</body>
</html>

Последний раз редактировалось Keramet, 08.01.2016 в 21:13.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения zoinx2010 Общие вопросы Javascript 4 07.02.2014 16:37
регулярные выражения remember_me Общие вопросы Javascript 2 26.12.2013 14:56
Составить регулярные выражения ($) Zero Tolerance Общие вопросы Javascript 10 19.11.2013 13:14
Регулярные выражения для javascript qwert_ukg Общие вопросы Javascript 3 20.04.2012 13:45
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35