PHPQuery-获取包含特定url页面的所有链接


PHPQuery - get all links of contains specific url page

我正在尝试使用PHPQuery获取给定页面上包含特定url页面的所有链接。我使用的是PHPQuery的PHP支持语法。

include_once 'phpQuery.php';
$url = 'http://www.phonearena.com/phones/manufacturer/';
$doc = phpQuery::newDocumentFile($url);
$urls = $doc['a'];
foreach ($urls as $url) {
    echo pq($url)->attr('href') . '<br>';
}

上面的代码有效。但它显示了所有的联系我只想显示那些包含"/phones/manufacturer/"的内容。我试过了,但什么也没显示:

include_once 'phpQuery.php';
$url = 'http://www.phonearena.com/phones/manufacturer/';
$doc = phpQuery::newDocumentFile($url);
$urls = $doc['a'];
foreach ($urls as $url) {
    echo pq($url)->attr('href:contains("/phones/manufacturer/")') . '<br>';
}

使用以下编码从该网站获取所有URL,

        $doc = new DOMDocument();
                @$doc->loadHTML(file_get_contents('http://www.phonearena.com/phones/manufacturer/'));
                $ahreftags = $doc->getElementsByTagName('a');
                    foreach ($ahreftags as $tag) {
                        echo "<br/>";
                        echo $tag->getAttribute('href');
                        echo "<br/>";
                    }

exit;

试试这个,一个意大利小指南,jquery文档

include_once 'phpQuery.php';
$url = 'http://www.phonearena.com/phones/manufacturer/';
$doc = phpQuery::newDocumentFile($url);
$urls = $doc['a[href*="/phones/manufacturer/"]'];
foreach ($urls as $url) {
    echo pq($url)->attr('href') . '<br>';
}