|
|
|
| Так... как отсортировать ссылки в алфавитном порядке? В php. | |
|
|
|
|
|
|
|
для: Classic
(11.05.2006 в 16:59)
| | а как они у вас хранятся? | |
|
|
|
|
|
|
|
для: P@Sol
(11.05.2006 в 17:23)
| | У меня тоже вопрос: как отсортировать файлы по дате их добавления, т.е. чтобы новые файлы были сверху?
P.S. Файлы извлекаю из readdir() | |
|
|
|
|
|
|
|
для: Gendalf
(11.05.2006 в 18:25)
| | структура таблицы какая? можно по ID если автоикремент или по дате если таковая имеется | |
|
|
|
|
|
|
|
для: P@Sol
(11.05.2006 в 17:23)
| | Как обычные гиперссылки. | |
|
|
|
|
|
|
|
для: Classic
(11.05.2006 в 18:29)
| | А где они у вас хранятся? В массиве, файле или в БД? | |
|
|
|
|
|
|
|
для: Саня
(11.05.2006 в 18:36)
| | файле | |
|
|
|
|
|
|
|
для: Classic
(11.05.2006 в 18:29)
| | Приведите кусочек файла, если не сложно... они с тэгом <a> храняться или чистые адреса? | |
|
|
|
|
|
|
|
для: cheops
(11.05.2006 в 23:37)
| |
<table align=center>
<tr align=center><td><a class=3 href="albeniz/">Альбенис</a>
<tr align=center><td><a class=3 href="bach/">Бах</a>
<tr align=center><td><a class=3 href="beethoven/">Бетховен</a>
<tr align=center><td><a class=3 href="vivaldi/">Вивальди</a>
<tr align=center><td><a class=3 href="ivanov-Kramskoy/">Иванов-Крамской</a>
<tr align=center><td><a class=3 href="rodrigo/">Родриго</a>
<tr align=center><td><a class=3 href="sor/">Сор</a>
<tr align=center><td><a class=3 href="tarrega/">Таррега</a>
<tr align=center><td><a class=3 href="francesco/">Франческо Да Милано</a>
<tr align=center><td><a class=3 href="lobos/">Эйтор Вилла-Лобос</a>
</table>
|
| |
|
|
|
|
|
|
|
для: Classic
(12.05.2006 в 06:33)
| | А мне кто нибудь поможет? | |
|
|
|
|
|
|
|
для: Classic
(12.05.2006 в 06:33)
| | Можно поступить следующим образом
<?php
$text = file("data.txt");
$pattern = "|<a class=3 href=\"[^\"]+\">([^<]+)</a>|i";
foreach($text as $line)
{
if(preg_match($pattern,$line,$out))
{
$arr[$line] = $out[1];
}
}
ksort($arr);
echo "<pre>";
foreach($arr as $key => $value)
{
echo $key;
}
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(12.05.2006 в 12:28)
| | Он сортирует по алфавиту ссылок и чуть-чуть по имени. | |
|
|
|
|
|
|
|
для: cheops
(12.05.2006 в 12:28)
| | Мне надо чтобы сортировало только по названию ссылки, чем не отличается этот скрипт. | |
|
|
|
|
|
|
|
для: Classic
(12.05.2006 в 20:16)
| | В строке
<tr align=center><td><a class=3 href="albeniz/">Альбенис</a>
|
под названием ссылки что подразумевается: albeniz или Альбенис? | |
|
|
|
|
|
|
|
для: cheops
(13.05.2006 в 11:41)
| | Альбенис
Нодо чтобы по "Альбенису" сортировало. | |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 11:42)
| | Хм... вообще сейчас так и должно быть - у меня по крайней мере именно так и выводит? А у вас какой результат? Где тестируете на локальной машине или на реальном сервере? | |
|
|
|
|
|
|
|
для: cheops
(13.05.2006 в 12:28)
| | Локальной машине. Сейчас на сервер (посмотрю). | |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 12:30)
| | Вообще очень странно.
Я чуть поменял файл data.txt
На
<table align=center>
<tr align=center><td><a class=3 href="albeniz/">А</a>
<tr align=center><td><a class=3 href="bach/">Бах</a>
<tr align=center><td><a class=3 href="beethoven/">Бетховен</a>
<tr align=center><td><a class=3 href="vivaldi/">Вивальди</a>
<tr align=center><td><a class=3 href="ivanov-Kramskoy/">Иванов-Крамской</a>
<tr align=center><td><a class=3 href="rodrigo/">Родриго</a>
<tr align=center><td><a class=3 href="sor/">Сор</a>
<tr align=center><td><a class=3 href="tarrega/">Таррега</a>
<tr align=center><td><a class=3 href="francesco/">а</a>
<tr align=center><td><a class=3 href="lobos/">Б</a>
</table>
|
По идее должно получится так
А
а
Б
Бах
Бетховен
Иванов-Крамской
Родриго
Сор
Таррега
Вивальди
| Но результат даёт такой
А
Бах
Бетховен
а
Иванов-Крамской
Б
Родриго
Сор
Таррега
Вивальди
|
| |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 12:37)
| | Скрипт сам не трогал | |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 12:39)
| | Регистр значит различает... попробуйте тогда изменить скрипт следующим образом
<?php
$text = file("data.txt");
$pattern = "|<a class=3 href=\"[^\"]+\">([^<]+)</a>|i";
foreach($text as $line)
{
if(preg_match($pattern,$line,$out))
{
$arr[$line] = strtolower($out[1]);
}
}
ksort($arr);
echo "<pre>";
foreach($arr as $key => $value)
{
echo $key;
}
echo "</pre>";
?>
|
или настроить локаль, как это описывается в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=6084
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=13537
настройка локали будет работать только на сервере (нужен UNIX). | |
|
|
|
|
|
|
|
для: cheops
(13.05.2006 в 12:50)
| | >настройка локали будет работать только на сервере (нужен UNIX).
?
Просто надо вставить в обычный php-й код?
setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
|
| |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 14:29)
| | Да, или используйте приведённый выше скрипт - он будет приводить строки к нижнему регистру и сортировка будет производиться корректно. | |
|
|
|
|
|
|
|
для: cheops
(13.05.2006 в 15:45)
| | Нет... не получилось не через локали не через новый скрипт ( | |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 15:47)
| | Есть еще пути, решения? | |
|
|
|
|
|
|
|
для: Classic
(13.05.2006 в 18:19)
| | Оч. нужно. | |
|
|
|
|
|
|
|
для: Classic
(15.05.2006 в 13:36)
| | Хм... вообще говоря, что-то мыслей в голову положительных не приходит, не уж-то и на локальной машине и на сервер сортировка производится неправильно? Как правило, возникают проблемы лишь на реальном сервере, при этом на локальном сервере сортируется всё правильно - у вас на локальной машине Windows? | |
|
|
|
|
|
|
|
для: Classic
(11.05.2006 в 16:59)
| | Я пробовал и на локально и на реальной. Я хочу изменить структуру сайта полностью. Так что можете забыть этот вопрос, буду делать через БД. Так мне кажется лучше. Всё равно спасибо! | |
|
|
|