Иногда на какой-то сторонний сайт нужно вывести заголовки определенных страниц другого сайта. Не будем рассматривать причины и цели сей задачи, а перейдем сразу же к решению.
Только сразу оговорюсь, что если на сайте доноре нет ни sitemap.xml ни rss.xml, то поставленную задачу будет выполнить просто невозможно, потому что мы не знаем структуру сайта донора и узнать какие страницы (адреса, урлы) на нем есть, мы сможем только из любого их этих двух файлов. Давайте рассмотрим пример с rss лентой. Если вы решили парсить что-то с какого-то сайта, то наверняка на этом сайте есть rss.
$url = 'rss.xml'; //адрес RSS ленты (например адрес ленты этого сайта http://igmarkov.ru/rss.xml) $rss = simplexml_load_file($url); //Интерпретирует XML-файл в объект //цикл foreach для обхода всей RSS ленты $i=0; foreach ($rss->channel->item as $item) { $mymas[$i] = $item->title; // сохраняем заголовок в массив mymas $i++; }
Всё. Заголовки с нужной нам rss ленты мы спарсили. Это могут быть заголовки статей на любом движке, например на wordpresse.
Теперь если нам нужно их где-то вывести, то используем следующий код:
foreach($mymas as $key => $zag) { echo("Заголовок статьи № ".$key." ".$zag."<br>"); }
После чего заголовки выведутся в столбик по порядковым номерам.
Только есть одно НО, SimpleXML, который я использовал в качестве помощника, работает только начиная с 5ой версии PHP. Поэтому будьте внимательны.