服务器返回:
<div id="urls">
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 />
</div>
但我想按实际创建日期对这些文章进行排序。 有没有办法用jQuery(或立即使用php?)
请给我建议 感谢您的关注和帮助!
答案 0 :(得分:1)
只需为此算法进行一些本地语言编译。我想5或6行代码应该没问题。
答案 1 :(得分:1)
首先,这是从服务器获取的非常糟糕的数据。看起来它可能会更改,恕不另行通知等。如果它来自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);