【问题标题】:phpQuery selecting div inside first liphpQuery在第一个li中选择div
【发布时间】:2017-01-25 09:50:12
【问题描述】:

我有 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>

然后有了 previos 的东西,这简直太容易了:

$wsql->select('li');

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

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

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

作为 phpQuery 的新手,很难找到现实生活中的示例。 有人能指出我正确的方向吗?

我想要“跨度”文本和项目元数据,所以我想知道 div 类何时是“过去”或“现在”

【问题讨论】:

    标签: php phpquery


    【解决方案1】:

    您可以在此处找到有关 phpQuery 的信息:https://code.google.com/archive/p/phpquery/

    我更喜欢下载中的“单文件”版本: 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');        
    }
    

    【讨论】:

    • 谢谢它有效,但它是否“空间敏感?因为我无法让“当前”和“过去”显示在真实的东西上。
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2015-04-08
    相关资源
    最近更新 更多