Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera como eu faço para mostrar um RSS pelo PHP?
Eu estou fazendo de um modo que mostra em partes, o meu problema está com imagens, em algum RSS da para pegar a imagem pelo $item->enclosure["url"]; e em outros RSS ele mostra
o $item->description; e a tag <img> está dentro de outras tag, alguém pode me ajudar com esse problema?
Seguem o meu código para uma ideia?
<?php
ini_set('allow_url_fopen', 1);
ini_set('allow_url_include',1);
$feed = 'http://globoesporte.globo.com/servico/semantica/editorias/plantao/volei/feed.rss';
$rss = simplexml_load_file($feed);
if($rss){
foreach($rss->channel->item as $item){
echo $item->description;
}
}Isso, eu quero pegar o valor do src da imagem.
Em alguns eu uso o $item->enclosure["url"] e funciona, mas se você der uma olhada nesse link que eu passo, ele não tem a $item->enclosure["url"].
Você pode fazer conforme esta resposta:
AndersonMamede Então ele funciona, mais quando eu mostro o escopo xml, no meu caso eu só vou passar a url, como mostrei no meu código.
Nesse exemplo devo acertar ele passando uma url.
Para passar a URL, utilize a função load ao invés de loadXML:
$dom = new DOMDocument();
libxml_use_internal_errors( True );
$dom->load( "http://etc" );Valeu AndersonMamede pela ajuda, funcionou.
<?php
$dom = new DOMDocument();
libxml_use_internal_errors( True );
$dom->load( "http://globoesporte.globo.com/servico/semantica/editorias/plantao/volei/feed.rss" );
$dom->formatOutput = True;
$xpath = new DOMXPath( $dom );
foreach( $xpath->query( 'channel/item/description' ) as $node )
{
$html = new DOMDocument();
$html->loadHTML( $node->nodeValue );
$src = $html->getElementsByTagName( 'img' )->item(0)->getAttribute('src');
echo $src.PHP_EOL;
}Beleza!!
De qual imagem você está falando? Você quer pegar o endereço das imagens que está nas tags "img", que estão dentro de "description"?