Ответы пользователя по тегу PHP
  • Phpquery не создает массив, почему?

    @AlexKostin
    require 'phpQuery-onefile.php';
    
    $html = '<div class="list1">list1</div>
    <div class="list2">list2</div>
    <div class="list1">list3</div>
    <div class="list2">list4</div>';
    
    $document = phpQuery::newDocument($html);
    // Выберем списочные элементы в которых есть заголовок и текст новости
    $list_elements = $document->find('.list1, .list2');
    // Пробегаем по найденым элементам и делаем с ними что угодно.
    foreach ($list_elements as $element){
    	echo pq($element)->text()."<br>\n";
    }

    Результат:
    list1<br>
    list3<br>
    list2<br>
    list4<br>


    Все найденные примеры работы с этой библиотекой показывают что после поиска нескольких элементов они оказываются в массиве.

    $list_elements это не массив, а объект, реализующий интерфейс Iterator.
    И доступ к его свойствам можно получить через foreach, for, each.
    Я подозреваю, Вы пытались посмотреть содержимое $list_elements с помощью print_r или чего-то подобного.
    Ответ написан
    1 комментарий
  • Где скачивать библиотеки для php?

    @AlexKostin
    Если речь о windows - то смотрите http://windows.php.net
    DLL здесь - windows.php.net/downloads/pecl/releases
    Ответ написан
    Комментировать
  • CMS с комментариями и записями?

    @AlexKostin
    Вот почему-то сразу вспомнилась dokuwiki.
    На dokuwiki.ru можете же и посмотреть как комментарии организованы. Проще трудно представить.
    Если сталкивались с wiki-синтаксисом и нет претензий к интерфейсу, через час-другой сайт вполне может стартовать :)
    Но без регистрации комментарии чистить часто придётся. Или добавить какую-нибудь хитрость для ботов типа "горшочка с мёдом".
    Ответ написан
    Комментировать
  • Почему код возвращает значение лишь единожды?

    @AlexKostin
    1. Проще? Можно:
    $links = function($url) {
        preg_match_all("~<img src=\"(.*)\"~Uis", file_get_contents($url), $parsed, PREG_PATTERN_ORDER);
        return $parsed[1];
    };
    foreach($links('http://vk.com/id1') as $link) echo $link."<br>\n";

    2. foreach использовать вполне разумно, а вот класс - не уверен. :)
    Ответ написан
    1 комментарий