هذا الصنف قمت بكتابته من أجل إستخراج الروابط من خلاصة RSS عبر إستخلاص قيم الوسم link في ملف xml، أضعه بين يدكم من أجل الفائدة والنقد:
<?php
class RssLinks
{
private $url;
private $rss;
private $links;
private $items;
function RssLinks($url)
{
$this->url =$url ;
$this->links = array();
$this->rss = new DOMDocument();
$xml = file_get_contents($this->url);
$this->rss->loadXML($xml);
$this->items = $this->rss->getElementsByTagName('link');
}
function ExtractLinks()
{
//get the root URL
$parsed_url = parse_url($this->url);
$host_url = $parsed_url['scheme']."://".$parsed_url['host'];
foreach ($this->items as $item)
{
if( $host_url != $item->nodeValue && $host_url."/" != $item->nodeValue)
array_push($this->links , $item->nodeValue);
}
return $this->links;
}
}
طبعا من أجل التعامل مع هذا الصنف قم بإنشاء كائن جديد ومرر رابط الخلاصة ومن ثم إستدعي وظيفة ExtractLinks التي ستعيد الروابط على شكل مصفوفة.
$rss = new RssLinks("
https://arabia.io/rss.xml "); $urls = $rss->ExtractLinks(); var_dump($urls);