Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Сортировка строк - ссылок JAVA по шаблону. Как? (https://javascript.ru/forum/css-html-firefox-mizilla/62438-sortirovka-strok-ssylok-java-po-shablonu-kak.html)

Virtukon 10.04.2016 21:52

Сортировка строк - ссылок JAVA по шаблону. Как?
 
На странице не моего сайта есть поле ввода textarea с id="comment". Я туда при помощи дополнения AutoFill вставляю текст следующего вида:
<strong>
http://data.com/hdstyyd

https://day.net/67545455555

https://file.com/mnffd2764qgd8

http://files.com/urz0m3zse53k/myfile.rar.html
</strong>

Вторая часть ссылок которая после домена меняется, количество ссылок тоже может меняться.
Мне надо что бы строки сортировались по заданному мной шаблону:
1 https://file.com/*
2 http://data.com/*
3 https://day.net/*
4 http://files.com/*

После обработки скриптом в поле ввода должен получится такой текст:
<strong>
https://file.com/mnffd2764qgd8

http://data.com/hdstyyd

https://day.net/67545455555

http://files.com/urz0m3zse53k/myfile.rar.html
</strong>


Можно предлагать любой другой способ, главное результат. Пользуюсь браузером Фаерфокс, другой не предлагать.
Большой плюс если скрипт дет работать автоматом после заполнения поля, без нажатия дополнительных кнопок. Есть дополнение к Фаерфокс - FoxReplace. Оно может заменять текст на странице автоматом, но сортировать к сожалению нет :(

Virtukon 14.04.2016 14:05

Неужели никто на подскажет? А если так будет выглядеть исходный текст?
http://data.com/hdstyyd
https://day.net/67545455555
https://file.com/mnffd2764qgd8
http://files.com/urz0m3zse53k/myfile.rar.html

Взять занести каждую строку в отдельную переменную.
А потом вставлять их в форму сравнивая с регулярным выражением... счетчик строк поставить..

рони 14.04.2016 14:12

Цитата:

Сообщение от Virtukon
Неужели никто на подскажет?

видимо никто не работал с
Цитата:

Сообщение от Virtukon
FoxReplace

если упростить до 2 массивов для шаблона и строк тогда нет проблем отсортировать один массив по другому

рони 14.04.2016 14:59

сортировка массива по массиву
 
Virtukon,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
<script>
var template = ["file.com", "data.com", "day.net", "files.com"],
    urls = ["http://data.com/hdstyyd", "https://day.net/67545455555", "https://file.com/mnffd2764qgd8", "http://files.com/urz0m3zse53k/myfile.rar.html"];

function getIndex(url) {
    var i = -1;
    template.some(function(a, b) {
        return ~url.indexOf(a) && (i = b)
    });
    return i
}
urls.sort(function(a, b) {
    a = getIndex(a);
    b = getIndex(b);
    return a - b
});
document.write("<strong>" + urls.join(" ") + "</strong>");
  </script><br>
<strong>
https://file.com/mnffd2764qgd8

http://data.com/hdstyyd

https://day.net/67545455555

http://files.com/urz0m3zse53k/myfile.rar.html
</strong>

</body>
</html>


Часовой пояс GMT +3, время: 15:15.