• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

laptop07

Mudar de linha num rss feed

14 mensagens neste tópico

Estou a criar um rss feed através de php e mysql, mas neste momento surgiu-me um pequeno problema. Como mudar de linha???

Já experimentei colocar tags HTML na Base de Dados mas é lógico que não dê, os rss's usam a liguagem xml e não html.

Como já era de esperar o feed não é gerado.  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tás a dizer mudar de linha no código mesmo, correcto?

Com pelicas ( ' ) basta dares um enter

$rss = '
<item>
  <title><![CDATA[blabla]]></title>
</item>';

Com aspas ( " ) metes \n e eventualmente \r.

$rss = "\n<item>\n<title><![CDATA[blabla]]></title>\r\n</title>";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não fui bem explicito.

Imaginando que é o rss:

---

Titulo+Link

Data

Descrição: teste teste

---

O que eu queria era quando o rss é gerado que a palavra teste a vermelho fosse para baixo da que está a verde (todos os dados estão armazenados na base de dados MySQL).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes usar a tag <br/> (penso eu).

O XHTML também é XML, e penso que a formatação do texto em RSS é feita com tags XHTML.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É um bocado estranho, mas pronto...

Tenta usar as tags 'p'. Essa funcionam de certeza, a menos que esteja a fazer alguma coisa mal.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta como o Battousai disse:

$rss ="<item><title><![CDATA[bla\n\n\nbla]]></title></item>";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tentei usar <![CDATA[bla\n\n\nbla]]> mas apenas deixa um espaço e não muda de linha.

Esta é a parte do meu php que faz o load dos itens:

$titulo=$row['campo'];

echo "<item>";
echo "<title>$titulo</title>";
echo "<link>$endereco</link>";
echo "<description>$texto</description>";
echo "</item>";

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta usar o CDATA, e mete as tags XHTML lá dentro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já experimentei:

echo "<description><![CDATA[$texto\n\n\n$texto]]></description>";

Deixa apenas um espaço.  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto está a ir por tentativas ;)

echo "<description><![CDATA[$texto<br />$texto]]></description>";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faz como o fnds tem. Penso que deve funcionar. Se não, em vez de usares o <br/>, usa o <p>. Com o <p> garanto-te que funciona, pois já vi exemplos assim a funcionar (logo, qualquer problema, é porque não estás a fazer isso bem).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mexi um pouco e assim já deu:

echo "<description><![CDATA[ '.$texto.' <p> '.$texto.' ]]></description>";

E funciona também se a tag tiver na base de dados.

Obrigado a todos.  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Devias ter antes echo "<description><![CDATA[<p> '.$texto.' </p> <p>'.$texto.'</p> ]]></description>";.

Assim como tens, estava correcto se usasses o <br/>.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora