0

verificação de link

criado por Cleiton Becker em 09/09/2009 10:10am
Vamos ver se alguém pode me ajudar.

tenho uma class que peguei aqui mesmo no phpbrasil para capturar rss. Até ai tudo bem a class funciona perfeitamente, fiz um ajuste nela nada de mais.

Mas casualmente hoje o site de onde pego as notícias estava com os serviços indiponíveis, causando um transtorno o site ficando fora também, pois não tem nenhuma verificação antes para ver se a URL está disponível.

Bom como a url é um arquivo XML tentei utilizar a função is_file mas ela não funciona enfim não sei como efetuar uma verificação no endereço que eu pego os rss para que não cause nenhum erro no site.

Abaixo sego o código

<?php

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;
}

$feed = 'http://www.tjrs.jus.br/site_php/noticias/news_rss.php&#039;;

ini_set('allow_url_fopen', true);

$fp = fopen($feed, 'r');

$xml = '';

while (!feof($fp)) {

$xml .= fread($fp, 128);
}

fclose($fp);

$items = untag($xml, 'item');

$html = '<p>';

//foreach ($items as $item) {
//for($i=0;$i <= 5;$i++){
$count = 0;
foreach ($items as $item) {

if($count <= 4){

$title = untag($item, 'title');
$descricao = untag($item, 'description');
$link = untag($item, 'link');

$html .= '<a href="' . $link[0] . '">' . $title[0] . "</a><br />\n";


}
$count = $count + 1;
}

$html .= '</p>';

echo $html;


?>

Lista de Respostas:

0
15/09/2009 2:25pm
(~15 anos atrás)
a respondeu:
Você pode encontrar algum padrão na resposta que obtém do servidor e verificar se o seu padrao bate com o que vc obteve.

Se vc sabe, por ex, que a linha 3 do arquivo XML é assim:

"<content>"

E você obteu isso:

""

É por que deu errado.

Daí você trata!

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)