• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Ссылки из массива

  • Автор темы Guest
  • Дата начала
G

Guest

Здравствуйте, помогите пожалуйста.
Задача заключалась в том чтоб из текстового поля $BRIEF$

выводить ссылки (введенные каждая с новой строки)
таким образом

Добрие люди помогли вот этим скриптом
[codebox]<script>
var x = '$BRIEF$';
var y = new Array;
y = x.split(', ');
z1 = y[0];
z2 = y[1];
z3 = y[2];
lin='<a href="'+z1+'">ссылка 1</a>, <br><a href="'+z2+'">ссылка 2</a>, <br><a href="'+z3+'">ссылка 3</a>';
document.write(lin);
</script> [/codebox]
Вроди все работает только
1. Теперь ссылки нужно вводить не в каждую строку, а через запятую
2. Проблема в том что если ссылок не 3 или больше 3 то оно все равно выводит 3 ссылки
Хотелось бы усовершенствовать
1. Ссылок было столько сколько их введено в $BRIEF$ (То есть неизвестное кол-во).
Как я понял из поиска по интернету split() - Разбиение строки с разделителем на элементы
2. Можно в качестве разделителя использовать не ', ' а клавишу enter.(тоесть переход строки).
Я в Java особо не разбираюсь но из моих соображений новый скрипт должен выглядеть как то так
[codebox]<script>
var x = '$BRIEF$';
var y = new Array;
y = x.split(', ');
for (int i = 0; i < y; i++)
{zi+=1 = y;
lin='<a href="'+zi+=1'">ссылка +i</a><br>';}
document.write(lin);
</script>[/codebox]

Исправте пожалуйста,что у меня неправельно.

Зарание благодарен!!!
 
E

etc

Начните сначала, с азов, а то тут вс е очень плохо.
 
G

Guest

Начните сначала, с азов, а то тут вс е очень плохо.

Обезательно начну и выучу все, но проблема в том что скрипт нужен в ближайшие сроки
А учить весь язык просто не успеваю.
Немогли б вы потправить скрипт, пожалуйста очень надо.
 
E

etc

for (int i = 0; i < y; i++) {zi+=1 = y; lin='<a href="'+zi+=1'">ссылка +i</a><br>';}
Тут все неправильно. Потому что вы незнаете что такое циклы и как они работают, операторы незнаете, и т.д. и т.п.
Тут весь язык ненадо, тут надо азы. Т.к. без вышеприведенных понятий, садиться за программирование - смерти подобно.

Написать за вас, а смысл?
 
G

Guest

Потому что вы незнаете что такое циклы и как они работают, операторы незнаете, и т.д. и т.п.
Как раз этоя знаю
Цикл for - позволяет последовательно перебирать значение некой переменной в заданом диапазоне.
Ну а на счет того, как их правельно написать на java, вы правы я незнаю.
Тут весь язык ненадо, тут надо азы.
Даже выучить азы уйдет не один день, а скрипт мне нужен сегодне.
Я попитался разобраться как правельно написать в следствии чего получился этот скрипт
<script>
var x = '$BRIEF$';
var y = new Array;
y = x.split(', ');
for (int i = 0; i < y; i++)
{zi+=1 = y;
lin='<a href="'+zi+=1'">ссылка +i</a><br>';}
document.write(lin);
</script>


А java я все равно буду учить по профессии, только это будет гдето через год.

Написать за вас, а смысл?
Да если не трудно то напишите. Смысл помочь человеку.
Ну а эсли нет, то и на этом спасибо.
 
E

etc

Как раз этоя знаю
Цикл for - позволяет последовательно перебирать значение некой переменной в заданом диапазоне.
Оч хорошо, забудем про язык, чисто - логикой: где в вашем форе указан диапозон, и как известно, диапозон это начало и конец. Покажите.
 
G

Guest

Да вы прави тут использовать цикл for нельзя так как i>y не точное значение конца диапазона. (Както сразу не заметил)
Тогда
repeat
{zi+=1 = y;
lin='<a href="'+zi+=1'">ссылка +i</a><br>';}
until i >=y;

Ну и или как то так через repeat

P.S Поможете с скриптом ? Пожалуйста.
 
E

etc

Да тут не в том дело.
У вас y это массив, а в массиве есть свойство указывающее на его длину. Вот его и надо применять в цикле, а в каком - кому как удобнее.
P.S Поможете с скриптом ? Пожалуйста
Яж вам помогаю, но не "медвежьей услугой", а нормально.
Написать это каждый дурак сможет. Вы же не хуже? ;0)
 
G

Guest

У вас y это массив, а в массиве есть свойство указывающее на его длину. Вот его и надо применять в цикле, а в каком - кому как удобнее.
Да в этом то и дело что я незнаю наперед какой длины будет массив ссылок может быть 5 а может и 1000.
Сайт зделан на ucoz и я не знаю какой максимальной длины может быть этот массив
Яж вам помогаю, но не "медвежьей услугой", а нормально.
Написать это каждый дурак сможет. Вы же не хуже? ;0)
Ценю ваше намеренье помочь.
Я не хуже тем более, как я уже говорил буду учить в будущем.
Но мне сейчас нужен один маленький скрипт и у меня нет времени учить java.
Даже выучить азы уйдет не один день, а скрипт мне нужен сегодне.

P.S Согласитесь, если вам предположим захотелось пить то вы не будете покупать фабрику по изготовлению лимонада.
Вы просто выпьете воды из крана или кампота.
Так и мне ради одного маленького скрипта тратить 1-3 дня для его написания.
Поэтому я сюда и написал тут люди знают как правельно.
 
E

etc

я не знаю какой максимальной длины может быть этот массив
Массив сам знает.
Ну и вы согласитесь, что вода или компот тоже не сыр в мышеловке.
Конечно люди тут знают, но им интересно чтобы и вы знали.
 
G

Guest

Массив сам знает.
Да действительно, спасибо массивы призабил
Просто как то не приходилось узнавать длину массива восновном задавал ее наперед.


Ну и вы согласитесь, что вода или компот тоже не сыр в мышеловке.
Если вы намекаете на плату за написания скрипта, то я б заплатил и не тратил время
,но на текущий момент не располагаю средствами.

Яж вам помогаю, но не "медвежьей услугой", а нормально.
Написать это каждый дурак сможет. Вы же не хуже? ;0)

Ну вот написал то что смог ,но работает частично
Код:
<script> 
var x = '$BRIEF$'; 
var y = new Array; 
y = x.split(', '); 
for (var i=0; i <= y.length; i++)
{
lin='<a hre3f="'+y[i]+'"> ссылка '+i+'</a><br>';
lin=lin + lin;
}; 
document.write(lin); 
</script>

Проблеми:
1. После вставки этого скрипта отображается

при условии что ссылок 3 если количество другое то оно отображается вместо 3.
При наведении курсора появляеться текстовой указатель (на рисунке показан схематически) и текст подчеркивается как ссылка, но нажать на ее нельзя.
Такое ощущение что
выполняеться за пределами цикла.
Как это исправить?
2. Нашел в интернете
'\n' - переход строки,но когда пишу
Скрипт вообще не работает.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!