Вход

Просмотр полной версии : Сортировка строк - ссылок JAVA по шаблону. Как?


Virtukon
10.04.2016, 21:52
На странице не моего сайта есть поле ввода 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
Неужели никто на подскажет?
видимо никто не работал с 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>