Ir para conteúdo
Fórum Script Brasil
  • 0

Tirando uma parte do array que está dentro do outro


Frank K Hosaka

Pergunta

Encontrei um código bacana que monta um arquivo XLM, converte o XLM em Array, e tira do Array a parte que mais interessa. Isso foi escrito por Itibere em 30/07/2007 nesse fórum.

Eu tentei fazer a mesma coisa com outros comandos fornecidos no Google, mas eu perdi o endereço da imagem, e assim precisei do algorítmo do Itibere. O algoritimo dele é bom demais porque funciona. Eu não sei como funciona, mas preciso tirar o chapéu para ele.

Já as imagens não estão definidas por um indicador que possa ser separado pela função untag que foi publicado pelo Itibere, eu tive que improvisar bastante na base da tentativa e erro, e consegui resolver pelo menos 2% do problema. É a respeito de colocar o RSS na página do Website. Lá em 2007, o RSS era novidade. Hoje, pouca hoje gente usa esse recurso. Mas naquela época alguém perguntou se era possível trazer as imagens que estão acompanhados no RSS. Eu consegui trazer 2% das imagens.

<?php
// crédito Itibere 
// https://forum.scriptbrasil.com.br/topic/109868-como-colocar-um-painel-com-not%C3%ADcias-em-rss-no-meu-site/?do=findComment&comment=455732
$feed = 'https://www.uol.com.br/vueland/api/?loadComponent=XmlFeedRss'; 
ini_set('allow_url_fopen', true); 
$fp = fopen($feed, 'r'); 
$xml = ''; 
while(!feof($fp)){$xml .= fread($fp, 128);} 
fclose($fp); 
function untag($string, $tag){ 
    $tmpval = array(); 
    $preg = "|<$tag>(.*?)</$tag>|s"; 
    preg_match_all($preg, $string, $tags); 
    foreach ($tags[1] as $tmpcont){ 
        $tmpval[] = $tmpcont;} 
    return $tmpval;} 
$items = untag($xml, 'item'); 
foreach ($items as $item) {
	$posURL=strpos($item,"url=");
	$posJPG=strpos($item,".jpg");
	if(!empty($posURL)){
		$imagem=substr($item,$posURL+5,$posJPG-$posURL-1);
		echo "<img src=$imagem width=300 height=225><br>";}
	$posCDATA=strpos($item,"CDATA");
	$posBarra=strpos($item,"]]");
	$link=untag($item,'link');
	echo "<a href=$link[0]>";
	echo substr($item,$posCDATA+6,$posBarra-$posCDATA-6)."</a><br>";} //título da notícia
?>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...