Помощник
|
phpQuery |
asbury
|
Сообщение
#1
|
||
|
|
||
|
|||
Mulder_hb |
16.1.2011, 15:37;
Ответить: Mulder_hb
Сообщение
#2
|
|
Кто вам сказал, что там только поиск? Заданная проблема легко решается через регулярку. Можно еще и через DOM решать.
|
|
|
asbury
|
Сообщение
#3
|
|
Про Дом ничего не слышал, а вот с регулярками ничерта не выходит, какие хоть функции подскажите? Я уже по мануалу почитаю...
Мне еще в последствии надо будет конектиться на сайт... Это тоже регулярками? |
|
|
alexdrob |
16.1.2011, 16:09;
Ответить: alexdrob
Сообщение
#4
|
|
с DOM бывают большие проблемы) многие программисты пишут что у них XHTML но на самом дела документы не валидатны.
коннектиться file-get-contents выборка preg_match |
|
|
Mulder_hb |
16.1.2011, 17:12;
Ответить: Mulder_hb
Сообщение
#5
|
|
asbury, ваш phpQuery работает через DOM.
|
|
|
asbury
|
Сообщение
#6
|
|
Ну я вот курю-курю но вложеные теги все не открываются, может подскажете?
if( preg_match_all('/<div id="news">(.+?)<\/div>{14}/is',$http->data,$out,PREG_PATTERN_ORDER) ) Но выводится ошибка... Я догадываюсь, что регулярка у меня ищет подряд 14 дивов... А мне нужно чтобы четырнадцатый див был последним... Как сделать? И еще, как можно посчитать дивы новостного блока механически а не вручную, зная что куча дивов до и после него...? |
|
|
alexdrob |
16.1.2011, 20:13;
Ответить: alexdrob
Сообщение
#7
|
|
Вам нужно 14 вложенных дивов найти, или 14 следующих?
|
|
|
asbury
|
Сообщение
#8
|
|
Ну там и вложеные и следущие, я конечно имею в голове идиотский способ решения - конструкцию (.+?)<\/div> 14 раз буцнуть, но может есть что интелектуальнее?
|
|
|
alexdrob |
16.1.2011, 20:53;
Ответить: alexdrob
Сообщение
#9
|
|
Опишите подробнее структуру страницы, и что именно надо выдрать.
Проверьте если документ валидатен XHTML то может лучше использовать DOM |
|
|
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]; |
|
|
|
Текстовая версия | Сейчас: 23.4.2024, 21:59 |