【问题标题】:How to get next page url with phpQuery?如何使用 phpQuery 获取下一页 url?
【发布时间】:2018-11-11 12:41:56
【问题描述】:

我有自定义 HTML 分页模板:

<ul class="number-list">       
    <li><a href="/article/" class="page-number js-page-filter " data-page="1">1</a></li>
    // Current page with class [.red]
    <li><a href="/article/?page=2" class="page-number js-page-filter red" data-page="2">2</a></li>
    <li><a href="/article/?page=3" class="page-number js-page-filter " data-page="3">3</a></li>
    <li><a href="/article/?page=4" class="page-number js-page-filter " data-page="4">4</a></li>
    <li><a href="/article/?page=5" class="page-number js-page-filter " data-page="5">5</a></li>
    <li><span class="page-number">...</span></li>
    <li><a href="/article/?page=31" class="page-number js-page-filter " data-page="31">31</a></li>
    <li><a href="/article/?page=32" class="page-number js-page-filter " data-page="32">32</a></li>
</ul>

我可以使用此代码获取当前页面网址:

$current = $doc->find('.number-list li a.red')->attr('href');

在我的情况下如何获取下一页网址?

我累了:

$next = $doc->find('.number-list li a.red')->next('a')->attr('href');
$next = $doc->find('.number-list li a.red')->next('li a')->attr('href');
$next = $doc->find('.number-list li a.red')->next('.page-number')->attr('href');
$next = $doc->find('li a.red')->next('li a')->attr('href');
$next = $doc->find('li a.red')->next('li .page-number')->attr('href');

【问题讨论】:

    标签: php jquery phpquery


    【解决方案1】:

    安德烈亚斯。您可以获取所有&lt;li&gt; 并检查它是否&lt;a&gt; 具有类red。 该元素将是您的当前元素,之后,您可以获得下一个元素。 希望对你有帮助。

    $document = phpQuery::newDocument('
    <ul class="number-list">       
        <li><a href="/article/" class="page-number js-page-filter " data-page="1">1</a></li>
        <li><a href="/article/?page=2" class="page-number js-page-filter red" data-page="2">2</a></li>
        <li><a href="/article/?page=3" class="page-number js-page-filter " data-page="3">3</a></li>
        <li><a href="/article/?page=4" class="page-number js-page-filter " data-page="4">4</a></li>
        <li><a href="/article/?page=5" class="page-number js-page-filter " data-page="5">5</a></li>
        <li><span class="page-number">...</span></li>
        <li><a href="/article/?page=31" class="page-number js-page-filter " data-page="31">31</a></li>
        <li><a href="/article/?page=32" class="page-number js-page-filter " data-page="32">32</a></li>
    </ul>
    ');
    
    $lis = $document->find('.number-list li');
    foreach ($lis as $li)
    {
        if(pq($li)->find('a')->hasClass('red'))
        {
           var_dump(pq($li)->next()->find('a')->attr('href')); // get the next li and it a tag
        }
    }
    

    【讨论】:

    • 感谢您的回答))
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多