簡體   English   中英

如何按日期排序文件列表

[英]how to sort files list by date

服務器返回:

<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?)

請給我建議我感謝您的關注和幫助!!

只需為此算法進行一些本地語言編譯。 我想5或6行代碼應該沒問題。

  • 剝去前兩行和最后一行
  • 使用正則表達式提取日期
    • 或者將訂單更改為YYY-MM-DD
    • 或轉換為日期對象
  • 將這些放入地圖(關聯數組)
  • 使用asort可以很容易地完成最終排序

首先,這是從服務器獲取的非常糟糕的數據。 看起來它可能會更改,恕不另行通知等。如果它來自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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM