首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用phpQuery迭代DOM元素

使用phpQuery迭代DOM元素
EN

Stack Overflow用户
提问于 2013-05-03 21:41:45
回答 1查看 2K关注 0票数 0

我通过curl获取外部页面,并将其存储在一个变量中。然后我需要解析文档中的所有'a‘标签并修改它。为此,我需要遍历每个'a‘标记。我当前的代码:

代码语言:javascript
复制
    <?php
    require 'phpQuery/phpQuery/phpQuery.php';
    $url = $_GET['url'];

    $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/1.0");
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result= curl_exec ($ch);
    curl_close ($ch);

    $curlUrl = 'http://localhost:8888/curl2.php?url='.$url;
    $doc = phpQuery::newDocument ($result);



    //loop here 
    $href = $doc->find('a')->attr('href');      
    if (preg_match($url,$href))
    {
        //do something
    }       
    $doc->find('#nav li a')->attr('href', $curlUrl.$href);
    //end loop


    echo '<base href="'.$_GET['url'].'"/>';
    echo $doc;
    ?>

在jquery中有.each()函数,它可以做我需要做的事情,并遍历每个'a‘标记。在phpquery或其他php DOM方法中是否有类似的方法来遍历文档并修改每个'a‘标记?

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-03 21:45:47

我使用phpQuery已经有一段时间了,但您应该可以只使用foreach

代码语言:javascript
复制
foreach ($doc['a'] as $link) {
    $href = pq($link)->attr('href');
    // rest of code
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16360363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档