Помогите по передаче данных плиз!

Cyrus

Guest
Помогите по передаче данных плиз!

Есть поле textarea <name="keys[]" cols="60" rows="20"></textarea>, т.е. это поле в несколько строк. когда я заполяняю эти несколько строк и передаю в скрипт, то все строки через пробел записываются в первый элемент массива keys. А мне нужно чтобы каждой строке соответствовал свой элемент массива.

Подскажите плиз как это сделать?
 

rotoZOOM

ACM maniac
Никак ... Строка оканчивается переносом каретки, то есть CR (CR/LF) вот по этому символу и ищи конец строки.
 

Фанат

oncle terrible
Команда форума
Во-первых, надо сначала понимать, что ты деланешь.
В частности, при чём здесь передача данных?
С какой стати ты решил, что текст ДОЛЖЕН записаться в массив?
Где в параметрах протокола HTTP или в правилах пхп записано, что текст с переводами строк должен записаться в массив?

Если тебе надо получить из строки массив - то это и надо делать. Средсвами пхп. и передача данных тут не причем.
Поэтому тренируйся сначала в скрипте, безо всяких форм.

Берешь переменную
$stroka="11111
22222222222222
33333333333333
44444444444444";
и весело учишься превращать её в массив.
Путем поиска по этому форуму по словам как их строки получить массив, как разбить строку и так далее.
 

Cyrus

Guest
Автор оригинала: Бресь Сергей
Сделай name="keys", а в скрипте режь [m]explode[/m]ом.
Сдалал так.
$a=$_POST['keys'];
$key=explode(" ",$a);

в итоге ничего не вышло :( все равно вся строка в $key[0]
 

yugene

Отошел от дел
Originally posted by Cyrus
Сдалал так.
$a=$_POST['keys'];
$key=explode(" ",$a);

в итоге ничего не вышло :( все равно вся строка в $key[0]
Разве "пробел" обозначает перенос строки?
 

rotoZOOM

ACM maniac
а что у тебя между кавычками ? один пробел ?
Тогда у тебя должен создаться массив всех слов.
попробуй так.
$key=explode("\n",$a);
или
$key=explode(chr(13),$a);
или
$key=explode(chr(13).chr(10),$a);
 

Сергей123

Новичок
Cyrus
В textarea вводится последовательность символов.
В ней могут быть переводы строк и пробелы, могут не быть.
Эта строка один в один (в смысле переводов строк и пробелов) попадает в $_POST['keys'] (если name="keys").
Если у тебя "строки" - это последовательности, разделённые переводом строки, то резать надо по этому переводу строки.
 

Cyrus

Guest
Автор оригинала: rotoZOOM
а что у тебя между кавычками ? один пробел ?
Тогда у тебя должен создаться массив всех слов.
попробуй так.
$key=explode("\n",$a);
или
$key=explode(chr(13),$a);
или
$key=explode(chr(13).chr(10),$a);
rotoZOOM - Респект!
$key=explode("\n",$a);
срабоатло :) спасибо!
 

dr_z10

Новичок
Cyrus

Объясни, plz, ты сам будешь пользоваться этим textarea или юзеры? И если это будут юзеры, то откуда они узнают, что им надо жать ентер, чтобы перенести курсор для достижения твоих целей?
Ну просто интересно...
 

rotoZOOM

ACM maniac
Можно резать массив по определенной длине строк, учитывая, что слово должно полностью влазить на строку.
 

dr_z10

Новичок
Автор оригинала: rotoZOOM
Можно резать массив по определенной длине строк, учитывая, что слово должно полностью влазить на строку.
А вот это уже можно и вычислить без проблем )
 
Сверху