Teste de link rss

Rss atual: cria um elemento DOM para pegar as tags, algo como javascript.

channel> title>Inicio 1/title>
link> url /link>
As páginas estão em contrução 1.
2018-10-20 16:00:00 /pubDate>
item>
title>Implementação do Novo Site /title>
link>https://remember-ro.net/site3/rss/ /link>
description> Area de descricão./description>
pubDate>2018-10-10 11:00:00 /pubDate>
/item>
item>
title>Teste rss link> url /link>
description>As páginas estão em contrução./description> pubDate>2018-10-09 13:00:00 /pubDate>
/item> /channel>

Falha: Não ordena corretamente as datas

Solução: Eliminar o DOM e arquivo xml, passando para texto normal, onde cada linha é um array completo, sendo as colunas dividadas por algum caracter separador.

Usando # como final de linha para simular um arquivo txt
$array=explode('#','2018-08-02;titulo;link #2017-11-01;titulo;link #2018-02-30;titulo;link #2011-07-01;titulo;link');
function compare_datas($a, $b)
{
$a=explode(';',$a);
$b=explode(';',$b);
$t1 = strtotime($a[0]);
$t2 = strtotime($b[0]);
return $t2 - $t1; // ou return $t1 - $t2; para ordem ascendente
}
usort($array, 'compare_datas');

Resultado em php:

Array
(
    [0] => 2018-08-02;titulo;link 
    [1] => 2018-02-30;titulo;link  
    [2] => 2017-11-01;titulo;link 
    [3] => 2011-07-01;titulo;link
)

Necessita simplificar, pois não tem necessidade de tanta parafenália. Até o Javascript simples pode-se usar separadores com 1 caracter.

Para pegar título, descrição e data basta separar uma linha de texto por '#', que não é usado em texto normalmente.

$array=explode('#','data#titulo#link');

$titulo= $array[1]... $link=$array[2];

De qualquer forma, a criação de elemento DOM vai ter array, mais simples criar array direto.

E se começar editar um arquivo do inicio, nem tem necessidade de ordenar data, pois a primeira linha vai sempre a mais recente.