Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярка... Не получаеться.... 
:(
    Опции темы
alligator
Дата 8.10.2006, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Кусок страницы
От сюда нуна получить цифру 9 она в <li value=9> а цифра эта может стоять у любого другого сайта
тут на примере показан 
http://www.somesite.com/
в общем нужно найти эту цифру для определенного сайта.....

Код

    <li value=9>
    <div class="title">
    
    <a href="http://www.somesite.com/" onclick="r(this, 'iweb/path=80.22.81/vars=84=93');" target="_blank"><img src="http://favicon.yandex.net/favicon/www.somesite.com" width="16" height="16" alt="" border="0" onerror="this.src='http://img.yandex.net/i/blank.gif';" /></a>
  <a tabindex="10" onclick="r(this, 'iweb/path=80.22.82/vars=84=93');" href="http://www.somesite.com/" target="_blank"> <b>Cтолы</b>, <b>стулья</b> - мебельная фабрика</a>
  </div>
  <div class="text">
    <span>| Новости | <b>Столы</b> и <b>стулья</b> | Дилерам | Мебельный магазин | Контакты </span><br />
  
    <span>  кухонные и обеденные <b>столы</b> : <b>стулья</b> : <b>столы</b> трансформеры : <b>столы</b> книжки : журнальные <b>столы</b> : компьютерные <b>столы</b> : стеклянные <b>столы</b></span><br />
  
  </div>

    <div class="info"><span style="color:#060;">
    
    www.somesite.com
    (10&nbsp;КБ)
     &nbsp;&middot;&nbsp;06.09.2006
    </span>

    </div>
  <div class="info">
    <nobr><a href="http://hghltd.yandex.com/yandbtm?url=http%3A%2F%2Fwww.somesite.com%2F&text=%F1%F2%EE%EB%FB%20%F1%F2%F3%EB%FC%FF&reqtext=(%F1%F2%EE%EB%FB%3A%3A4185%20%26%20%F1%F2%F3%EB%FC%FF%3A%3A18085)%2F%2F6&dsn=383&d=5549079&sh=1&sg=10" target="_blank">Найденные слова</a></nobr>
   &nbsp;&middot;&nbsp; <nobr><a href="/yandsearch?text=%F1%F2%EE%EB%FB%20%F1%F2%F3%EB%FC%FF&pag=u&surl=somesite.com">Еще с сайта&nbsp;(2265)</a></nobr>
  &nbsp;&middot;&nbsp; <nobr>Рубрика: <a onclick="r(this, 'iweb/path=80.83/vars=84=93');" href="http://yaca.yandex.ru/yca/cat/Private_Life/Shopping/Furniture/">Мебель и интерьер</a></nobr>
  </div>
  </li>


я делал так.... не получаеться сделать.... 
подскажите где ошибка...
Код

preg_match("/value=?(\d{1,3}).*href=http:\/\/www.somesite.com?/is",$pos,$res);


PM MAIL   Вверх
BobiKK
Дата 8.10.2006, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Эхм... Не понял, что надо выдрать? Нельзя ли просто '/<li value=(\d+)>/i' ?
PM MAIL   Вверх
Wolf1994
Дата 8.10.2006, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Код

<?php

$pos="
    <li value=9>
    <div class=\"title\">

    <a href=\"http://www.somesite.com/\" onclick=\"r(this, 'iweb/path=80.22.81/vars=84=93');\" target=\"_blank\"><img src=\"http://favicon.yandex.net/favicon/www.somesite.com\" width=\"16\" height=\"16\" alt=\"\" border=\"0\" onerror=\"this.src='http://img.yandex.net/i/blank.gif';\" /></a>
  <a tabindex=\"10\" onclick=\"r(this, 'iweb/path=80.22.82/vars=84=93');\" href=\"http://www.somesite.com/\" target=\"_blank\"> <b>Cтолы</b>, <b>стулья</b> - мебельная фабрика</a>
  </div>
  <div class=\"text\">
    <span>| Новости | <b>Столы</b> и <b>стулья</b> | Дилерам | Мебельный магазин | Контакты </span><br />

    <span>  кухонные и обеденные <b>столы</b> : <b>стулья</b> : <b>столы</b> трансформеры : <b>столы</b> книжки : журнальные <b>столы</b> : компьютерные <b>столы</b> : стеклянные <b>столы</b></span><br />

  </div>
    <div class=\"info\"><span style=\"color:#060;\">

    www.somesite.com
    (10&nbsp;КБ)
     &nbsp;&middot;&nbsp;06.09.2006
    </span>
    </div>
  <div class=\"info\">
    <nobr><a href=\"http://hghltd.yandex.com/yandbtm?url=http%3A%2F%2Fwww.somesite.com%2F&text=%F1%F2%EE%EB%FB%20%F1%F2%F3%EB%FC%FF&reqtext=(%F1%F2%EE%EB%FB%3A%3A4185%20%26%20%F1%F2%F3%EB%FC%FF%3A%3A18085)%2F%2F6&dsn=383&d=5549079&sh=1&sg=10\" target=\"_blank\">Найденные слова</a></nobr>
   &nbsp;&middot;&nbsp; <nobr><a href=\"/yandsearch?text=%F1%F2%EE%EB%FB%20%F1%F2%F3%EB%FC%FF&pag=u&surl=somesite.com\">Еще с сайта&nbsp;(2265)</a></nobr>
  &nbsp;&middot;&nbsp; <nobr>Рубрика: <a onclick=\"r(this, 'iweb/path=80.83/vars=84=93');\" href=\"http://yaca.yandex.ru/yca/cat/Private_Life/Shopping/Furniture/\">Мебель и интерьер</a></nobr>
  </div>
  </li>
";

preg_match( "/value=(\d){1,3}.*href=[^>]+somesite.com/is", $pos, $res );
print ($res [1]);

?>

PM MAIL WWW   Вверх
alligator
Дата 8.10.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



сайт выберает но значение <li value=> получает неправильно , берет первое значение 
а нужно для определенного сайта =((
PM MAIL   Вверх
Wolf1994
Дата 10.10.2006, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Код

preg_match( "/value=([\d]+)(?=[^href]*href=[^>]*somesite.com)/is", $pos, $res );

PM MAIL WWW   Вверх
alligator
Дата 10.10.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



я уже сделал свой вариант , но этот мне нравиться больше....
только когда разбирался с регулярами
никак не могу понять как работает  вот эта часть...
(?=[^href]*href=[^>]*somesite.com)

PM MAIL   Вверх
Wolf1994
Дата 11.10.2006, 04:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Цитата

никак не могу понять как работает  вот эта часть...
(?=[^href]*href=[^>]*somesite.com)

(?=чему-то) - "послешествующее" утверждение. То есть, захват происходит только в случае если за выражением следует "чему-то". Причём "чему-то" в захват не включается.

[^href]* - отрицает присутствие других ссылок в условии, это сделано для того, чтобы получить "value=..." для ближайшей ссылки. Более грамотно было бы использовать два условия, наверное: (?=(?!...)...) - но я пока в этом не силён smile

Здесь полный FAQ: http://ru.php.net/manual/ru/reference.pcre...tern.syntax.php
PM MAIL WWW   Вверх
alligator
Дата 11.10.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



хмм я щас потестирую и отпишусь.....
PM MAIL   Вверх
alligator
Дата 11.10.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Код

<?php

$pos="
<li value=4 >
    <div class=\"title\">
  

  

  
  <a tabindex=\"5\" onclick=\"r(this, \'iweb/path=80.22.82\');\" href=\"http://www.somesite.ru/\" target=\"_blank\">МЕДИАКОМ - энергитический напиток "кольчуга", лучший энерготоник</a>
  </div>
    <li value=1>
    <div class=\"title\">
    
    <a href=\"http://www.site.com/\" onclick=\"r(this, \'iweb/path=80.22.81/vars=84=85\');\" target=\"_blank\"><img src=\"http://favicon.yandex.net/favicon/www.kolchuga.media-kom.ru\" width=\"16\" height=\"16\" alt=\"\" border=\"0\" onerror=\"this.src=\'http://img.yandex.net/i/blank.gif\';\" /></a>
  

  

  
  <a tabindex=\"2\" onclick=\"r(this, \'iweb/path=80.22.82/vars=84=85\');\" href=\"http://www.site.com/\" target=\"_blank\">МЕДИАКОМ - энергитический напиток "кольчуга", лучший энерготоник</a>
  </div>

   <li value=2>
    <div class=\"title\">
    
    <a href=\"http://www.sitesome.ru/\" onclick=\"r(this, \'iweb/path=80.22.81/vars=84=86\');\" target=\"_blank\"><img src=\"http://favicon.yandex.net/favicon/www.kolchuga.media-kom.ru\" width=\"16\" height=\"16\" alt=\"\" border=\"0\" onerror=\"this.src=\'http://img.yandex.net/i/blank.gif\';\" /></a>
  

  

  
  <a tabindex=\"3\" onclick=\"r(this, \'iweb/path=80.22.82/vars=84=86\');\" href=\"http://www.sitesome.ru/\" target=\"_blank\">МЕДИАКОМ - энергитический напиток "<b>кольчуга</b>", лучший энерготоник</a>
  </div>

  ";

preg_match( "/value=\"?([\d\s]+)\"?[^href]*href=[^>]*www.sitesome.ru/is", $pos, $res );
print_r($res);
?>

чета я уже замучался....
preg_match( "/value=\"?([\d\s]+)\"?.*[^href]*href=[^>]*www.sitesome.ru/is", $pos, $res );
такой вариант захватывает все ссылки  и получает неверно вариант...
ссылку надо искать в таком теге...
<a tabindex=\"3\" onclick=\"r(this, \'iweb/path=80.22.82/vars=84=86\');\" href=\"http://www.sitesome.ru/\" target=\"_blank\">х</a>

PM MAIL   Вверх
alligator
Дата 12.10.2006, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



решил вопрос простым способом , если уж не получаеться выбрать , то надо удалить лишнее =)
preg_replace форева )
PM MAIL   Вверх
SelenIT
Дата 21.10.2006, 01:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 8
Всего: 401



Цитата(alligator @  10.10.2006,  20:05 Найти цитируемый пост)
никак не могу понять как работает  вот эта часть...
(?=[^href]*href=[^>]*somesite.com)


На самом деле "[^href]*" означает всего-навсего любое число (включая 0) любых символов, кроме букв h, r, e и f. Так что эта часть работает явно некорректно...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0963 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.