phpQuery在第一个里面选择div

时间:2017-01-25 09:50:13

标签: php phpquery

我有html页面我试图阅读(使用htmlsql.class.php,但由于它太旧和过时,我必须使用phpQuery)。

html标记是:

<ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3">
<li>
    <div data-widget-type="epg.tvGuide.channel" data-view="epg.tvGuide.channel" id="widget-765574917197" class=" widget-epg_tvGuide_channel">
        <div class="group-box">
            <div class="group-header l-center" data-action="togglePreviousBroadcasts">
                <span class="header-text">
                    <img src="logo.png" style="height: 40px" />
                </span>
            </div>

<div>
    <div class="tvGuide-item is-past">
        <span data-action="toggleEventMeta">
                06:15 what a day
        </span>
        <div class="tvGuide-item-meta">
            Some text.
                <div><a href="/little_charmers?uniqueId=0082201701250415">Näita rohkem</a></div>
        </div>
    </div>
    <div class="tvGuide-item is-current">
        <span data-action="toggleEventMeta">
                06:15 what a day
        </span>
        <div class="tvGuide-item-meta">
            Some text.
                <div><a href="/little_charmers?uniqueId=0082201701250415">Näita rohkem</a></div>
        </div>
    </div>
    <div class="tvGuide-item">
        <span data-action="toggleEventMeta">
                06:15 what a day
        </span>
        <div class="tvGuide-item-meta">
            Some text.
                <div><a href="/little_charmers?uniqueId=0082201701250415">Näita rohkem</a></div>
        </div>
    </div>

</div>
</div>

    

然后有了普遍的事情,这很容易:

$wsql->select('li');

if (!$wsql->query('SELECT * FROM span')){
    print "Query error: " . $wsql->error; 
    exit;
}

foreach($wsql->fetch_array() as $row){

但我无法阅读课程,因此我需要知道课程何时是最新的,何时不是。

作为phpQuery的新手,然后很难找到reallife的例子。 有人能指出我正确的方向。

我想拥有&#34; span&#34;文本和项目元素,所以我想知道什么时候div类是&#34; is-past&#34;或者&#34;是当前的&#34;

1 个答案:

答案 0 :(得分:0)

你可以在这里找到关于phpQuery的信息:https://code.google.com/archive/p/phpquery/

我更喜欢&#34; one-file&#34;下载中的版本: https://code.google.com/archive/p/phpquery/downloads

基于代码的简单示例:

// for loading files use phpQuery::newDocumentFileHTML();
// for plain strings use phpQuery::newDocument();
$document = phpQuery::newDocumentFileHTML('http://domain.com/yourFile.html');

$items = pq($document)->find('.tvGuide-item');

foreach($items as $item) {
    if(pq($item)->hasClass('is-past') === true) {
        // matching past items
    }

    if(pq($item)->hasClass('is-current') === true) {
        // matching current items
    }

    //  examples for finding elements and grabbing text/attributes
    $span = pq($item)->find('span');
    $text_in_span = pq($span)->text();

    $meta = pq($item)->find('.tvGuide-item-meta');
    $link_in_meta = pq($meta)->find('a');
    $href_of_link_in_meta = pq($link_in_meta)->attr('href');        
}