更改php排序中的第一个字母


Change the first letter in php sorting

我有下面的代码,它从服务器上获取带有图像的目录,并将它们放在网站上,按字母顺序排序。我想把它们按混合顺序排列。Gallery名称是服务器上目录的名称。所以我想的是,如果有一种方法可以把1,2,3,4放在目录前面,而不是用CSS把名字的第一个字母放在白色,这样数字就不可见了。问题在于如何做到这一点。任何其他建议也欢迎。

以下是PHP代码:

for ($x = $offset_start; $x < sizeof($dirs) && $x < $offset_end; $x++)
{
    $offset_current++;
    $thumbnails .= $dirs[$x]["html"];
}

这是用于这个元素的css代码:

.gallery em {
    color: #000;
    font-style: normal;
    padding: 2px 5px;
    display: block;
    position: absolute;
    top: 243px;
    left: 25px;
    font-family:TrajanPro-Regular;
    font-size:15px;
    color:#796649;
}

它自己的alleries加载了一个tempalte.php,用以下命令调用:<% thumbnails %>因此,该模板用于显示我需要以混合模式订购的所有不同画廊,仅在主画廊页面上,不需要在画廊1/sub-galery/内。

对于放入ul 的每个目录库

<ul id="files" onload="order();">
  <li>Gallery name</li>
  <li>Gallery name</li>
  <li>Gallery name</li>
</ul>

然后在javascript:中

function order(){
var mylist = $('#files');
var listitems = mylist.children('li').get();
listitems.sort(function(a, b) {
   return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
});
$.each(listitems, function(idx, itm) { mylist.append(itm); });
}

如果您有一个目录/映像数组,您可以只使用sort($array)natcasesort($array)