Во-первых, это довольно плохие данные, получаемые с сервера. Похоже, что он может измениться без уведомления и т. Д. Если это API, вам следует искать лучший формат ответа, такой как JSON.
Тем не менее, вот некоторый PHP, который отсортировал бы ваши статьи по дате.
<?php
$serverData = <<<EOF
04.10.2011-some-article.html <br />
10.09.2011-other-article.html <br />
14.07.2010-some-text.html <br />
18.09.2011-article.html <br />
25.10.2011-text.html <br />
EOF;
$articles = explode("\n", $serverData);
usort($articles, function($a, $b) {
$times = array();
foreach (array($a, $b) as $article) {
if ($article) {
list($date, $title) = explode('-', trim($article), 2);
list($day, $month, $year) = explode('.', trim($date));
$times[] = strtotime("$year-$month-$day");
} else {
$times[] = 0;
}
}
return $times[1] - $times[0];
});
print_r($articles);