PHPQuery — получить все ссылки, содержащие определенную страницу URL

Я пытаюсь получить все ссылки, содержащие определенные URL-страницы на данной странице, используя PHPQuery. Я использую синтаксис поддержки PHP PHPQuery.

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>';
}

Код выше работает. Но это показывает все ссылки
Я хочу показать только те, которые содержат «/ Телефоны / Производитель /».
Я пробовал это, но это ничего не показывает:

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>';
}

0

Решение

Используйте код ниже, чтобы получить все 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;
3

Другие решения

Попробуйте это, немного итальянский гид, документация 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>';
}
1

По вопросам рекламы [email protected]