X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> phpQuery
asbury
asbury
Topic Starter сообщение 16.1.2011, 3:17; Ответить: asbury
Сообщение #1


Сталкнулся с отличной библиотекой, но не могу ей пользоваться в силу незнания языка английского, мне кажется, что если кто-то переведет мануал, то благодарность он котнесно получит)))) От большого колличества пользователей....
http://code.google.com/p/phpquery/

Теперь по делу, такой вопрос, получаю контент сайта, но мне все подряд с сайта не нежно! Мне надо определенный блок, с вложеными блоками. Как это сделать? Если у меня предположим из всей массы нужно выбрать

<div name='vasja'>
<div name='petja></div>
<div name='valera'>
<div name='ashotik'>
</div>
</div>
</div>

Подскажите, хотябы что именно курить, регулярки курил, но там только поиск переменной, то есть либо есть переменная либо нет( А мне конкетная выборка нужна(
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 16.1.2011, 15:37; Ответить: Mulder_hb
Сообщение #2


Кто вам сказал, что там только поиск? Заданная проблема легко решается через регулярку. Можно еще и через DOM решать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asbury
asbury
Topic Starter сообщение 16.1.2011, 15:57; Ответить: asbury
Сообщение #3


Про Дом ничего не слышал, а вот с регулярками ничерта не выходит, какие хоть функции подскажите? Я уже по мануалу почитаю...

Мне еще в последствии надо будет конектиться на сайт... Это тоже регулярками?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 16.1.2011, 16:09; Ответить: alexdrob
Сообщение #4


с DOM бывают большие проблемы) многие программисты пишут что у них XHTML но на самом дела документы не валидатны.
коннектиться file-get-contents
выборка preg_match
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 16.1.2011, 17:12; Ответить: Mulder_hb
Сообщение #5


asbury, ваш phpQuery работает через DOM.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asbury
asbury
Topic Starter сообщение 16.1.2011, 19:49; Ответить: asbury
Сообщение #6


Ну я вот курю-курю но вложеные теги все не открываются, может подскажете?
if( preg_match_all('/<div id="news">(.+?)<\/div>{14}/is',$http->data,$out,PREG_PATTERN_ORDER) ) Но выводится ошибка... Я догадываюсь, что регулярка у меня ищет подряд 14 дивов... А мне нужно чтобы четырнадцатый див был последним... Как сделать?

И еще, как можно посчитать дивы новостного блока механически а не вручную, зная что куча дивов до и после него...?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 16.1.2011, 20:13; Ответить: alexdrob
Сообщение #7


Вам нужно 14 вложенных дивов найти, или 14 следующих?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asbury
asbury
Topic Starter сообщение 16.1.2011, 20:40; Ответить: asbury
Сообщение #8


Ну там и вложеные и следущие, я конечно имею в голове идиотский способ решения - конструкцию (.+?)<\/div> 14 раз буцнуть, но может есть что интелектуальнее?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 16.1.2011, 20:53; Ответить: alexdrob
Сообщение #9


Опишите подробнее структуру страницы, и что именно надо выдрать.
Проверьте если документ валидатен XHTML то может лучше использовать DOM
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asbury
asbury
Topic Starter сообщение 16.1.2011, 21:17; Ответить: asbury
Сообщение #10


Не ну мне новости то не надо с этого партала выдерать,я просто учусь... Но пример скину, конечно..
<div id="center-content">
<h2>Новости</h2>
<div class="cat-bar"><a href="?act=news&ribbon=1"><b>Новости руоффа</b></a> - <a href="?act=news&ribbon=2">Новости Фан-сайта</a></div><br />
<div align="right"><a href="javascript: ExpandAllNews()">Открыть все</a></div>
<div class="news-block">
<div class="news-header">
<span class="news-date"><!--<img align="top" src="" />--> 27.12.2010</span>
<span class="news-title">Новые предметы в игровом магазине: больше шапок и агатионов</span>
<span></span>
</div>
<div class="news-body">
Ассортимент магазина к Новому Году пополнился новыми предметами.<br /><br />Принимайте участие в праздничном ивенте и дарите своим персонажам разнообразные украшения.<br /><br />
<div class="news-comments">Комментарии: <a target="_blank" href="http://forum.la2.ru/index.php?showtopic=3363">14</a></div>
</div>
</div>
<div class="news-block">
<div class="news-header">
<span class="news-date"><!--<img align="top" src="" />--> 29.12.2010</span>
<span class="news-title">Новогодний ивент</span>
<span></span>
</div>
<div class="news-body">
Мир Адена согрет энергией Паагрио этой холодной зимой!<br /><br />Сразу после профилактических работ 28 декабря и до 11 января 2011 года будет проходить новогодний ивент. Присмотрите за Слабым Рудольфом по просьбе Деда Мороза! Тогда вы сможете получить особый положительный эффект Рудольфа и получить Подарок Деда Мороза!<br /><br />
<div class="news-comments">Комментарии: <a target="_blank" href="http://forum.la2.ru/index.php?showtopic=3362">12</a></div>
</div>
</div>
<div class="news-block">
<div class="news-header">
<span class="news-date"><!--<img align="top" src="" />--> 27.12.2010</span>
<span class="news-title">Lineage Chaotic Throne: High Five Part 3!</span>
<span></span>
</div>
<div class="news-body">
Во вселенной Lineage 2 наступит новая эра!<br /><br />
<div class="news-comments">Комментарии: <a target="_blank" href="http://forum.la2.ru/index.php?showtopic=3361">18</a></div>
</div>
</div>


И... Могу ли я какими-то флажками разбить массив $out.
Ато у меня все это добро выводится в $out[0][0]; А было бы здорово, если одна новость - $out[0][1]; другая - $out[0][3];
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 23.4.2024, 21:59
Дизайн