Как извлечь URL с этой страницы - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь использовать curl для получения данных из Интернета. У меня есть URL-адрес типа somewebsite.com. На этом сайте есть целая куча <divs>, которые имеют class="control-element" и имеют эту разметку:

<div class="control-element">
   <a href="http://someurl.com/and/some/path">Anchor Text</a>
</div>

Как мне извлечь URL и текст привязки для каждой из этих ссылок? Должен ли я использовать регулярные выражения для этого? или как лучше это сделать?

1 Ответ

1 голос
/ 02 августа 2011

Я думаю, что в этом конкретном случае вы могли бы просто отлично использовать file_get_contents () вместо cURL .

Для анализа html взгляните на Простой HTML DOM .

Если вы не хотите использовать какие-либо сторонние библиотеки, вот пример использования regex:

$doc = file_get_contents("http://someurl.com/");
preg_match_all('/<div class="control-element">(.*)<\/div>/isU', $doc, $matches);
$co = count($matches[1]);
for($i = 0; $i<$co;$i++)
{
    preg_match_all('/<a href="(.*)">(.*)<\/a>/isU', $matches[1][$i], $matches2);
    echo("URL: ".$matches2[1][0]." Anchor: ".$matches2[2][0]."<br>");
}
...