0

Erro de acentuação e caracter rss ..

criado por Cleiton Becker em 08/06/2010 1:54pm
Pessoal,

Estou com esse código para puxar um rss, porem o título eu consigo puxar sem nenhum erro, mas a descrição não vem corretamente, sendo que no xml está tudo certo.

Por exemplo

São Paulo - está assim no xml

SÃO PAULO - assim quando eu puxo através do código.

Segue o código abaixo:

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

//--------------------------------------------------------------------------------------------------------
// tribunal de justiça rio grande do sul
$feed = 'http://info.abril.com.br/aberto/infonews/rssnews.xml&#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 <= 5){

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

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

}
$count = $count + 1;
}

$html .= '</p>';

echo $html;

?>

Já tentei de tudo pesquisei não encontrei nada alguém tem alguma idéia de como resolver isso?

Todas idéias serão bem vindas.

Obrigado.

Lista de Respostas:

0
09/06/2010 9:45am
(~14 anos atrás)
Marcos Regis respondeu:
Amigo, não há erro algum.
O XML está com os acentos em seu formato de entidades HTML onde
ã = &atilde; por exemplo.
Para exibir corretamente no HTML basta imprimir do jeito que está.
Para retornar uma entidade a seu formato use a função

html_entity_decode()

http://php.net/html_entity_decode

Outra coisa, seria mais simples se vc usa-se SimpleXML .
http://php.net/simplexml

Nova Resposta:

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