Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Перенос входящего текста по строкам
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Перенос входящего текста по строкам

Страниц (1): [1]
 

1. jonmodem - 23 Июня, 2011 - 09:01:32 - перейти к сообщению
Есть поле
<form action="text.php">
<textarea name="login"></textarea>
<input type="submit" value="Подписаться" class="tab">
</form>
Нужно чтобы текст вводимый в textarea разделенный запятыми, выводился: каждое слово с новой строки и без запятых. И еще желательно перед каждым словом было friend add наше слово из textarea
Данные значения friend add наше слово из textarea сохранялись в файле friends.txt

Входящий текст в textarea
indigo_child, inger02, inside_2012, iolly_r, irek_murtazin, ivalnick, ivan_i_demidov, j_lambert_46,

Нужно что бы получилось
friend add indigo_child
friend add inger02
friend add inside_2012
friend add iolly_r, irek_murtazin
friend add ivalnick, ivan_i_demidov
friend add j_lambert_46
2. Мелкий - 23 Июня, 2011 - 09:24:21 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends.txt',implode('\n',array_map(create_function('$el','return "friend add ".$el;'),explode(',',$ваша_строка))));
3. jonmodem - 23 Июня, 2011 - 09:31:42 - перейти к сообщению
Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends.txt',implode('\n',array_map(create_function('$el','return "friend add ".$el;'),explode(',',$ваша_строка))));


Файл friends.html
<form action="text.php">
<textarea name="login"></textarea>
<input type="submit" value="Отправить>
</form>

Файл text.php
<?php

file_put_contents('friends.txt',implode('\n',array_map(create_function('$el','return "friend add ".$el;'),explode(',',$login))));

?>

В файле friends.txt пусто, работаю на локальном сервере, все включено, но функция не работает
4. EuGen - 23 Июня, 2011 - 09:34:46 - перейти к сообщению
Все же
PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends.txt',implode("\n",array_map(create_function('$el','return "friend add $el";'),explode(',',$ваша_строка))));
5. jonmodem - 23 Июня, 2011 - 09:49:54 - перейти к сообщению
EuGen пишет:
Все же
PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends.txt',implode("\n",array_map(create_function('$el','return "friend add $el";'),explode(',',$ваша_строка))));

в файле friends.txt вот что получается
friend add indigo_child\nfriend add inger02\nfriend add inside_2012\nfriend add iolly_r\nfriend add irek_murtazin\nfriend add ivalnick\nfriend add ivan_i_demidov\nfriend add j_lambert_46\nfriend add
все не с новой строки, а в одну строку, и не пишет friend add
6. Мелкий - 23 Июня, 2011 - 09:50:44 - перейти к сообщению
EuGen, пару минут пытался найти, в чём разница. Таки да, по привычке поставил одинарные кавычки, двойные нужны.

jonmodem пишет:
В файле friends.txt пусто, работаю на локальном сервере, все включено, но функция не работает

С чего вы взяли, что в $login что-то есть?
Это не инициализированная переменная, вызывает E_NOTICE, который у вас, видимо, не выводится. А не инициализированная переменная (NULL) при приведении к строке становится "" (пустой строкой)
7. jonmodem - 23 Июня, 2011 - 10:03:05 - перейти к сообщению
Мелкий пишет:
EuGen, пару минут пытался найти, в чём разница. Таки да, по привычке поставил одинарные кавычки, двойные нужны.

jonmodem пишет:
В файле friends.txt пусто, работаю на локальном сервере, все включено, но функция не работает

С чего вы взяли, что в $login что-то есть?
Это не инициализированная переменная, вызывает E_NOTICE, который у вас, видимо, не выводится. А не инициализированная переменная (NULL) при приведении к строке становится "" (пустой строкой)


решил проблему, $login работает и работал

PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends2.html',implode("<br/>",array_map(create_function('$el','return "friend add $el";'),explode(',',$login))));


Вот как изменил, теперь все сохраняется в файле friends2.html, так как это html, то <br/> работает как перенос, теперь все работает как нужно.
8. Мелкий - 23 Июня, 2011 - 10:10:30 - перейти к сообщению
jonmodem пишет:
решил проблему, $login работает и работал

Кошмар какой. Вырубите к чертям register_globals, если не хотите потом переучиваться, а то и переписывать код в случае размещения последнего на хостинге.

Глобальные переменные с PHP5.0 отключены по-умолчанию и с PHP5.3 заблокированы в отключённом состоянии.
9. jonmodem - 23 Июня, 2011 - 10:32:59 - перейти к сообщению
Мелкий пишет:
jonmodem пишет:
решил проблему, $login работает и работал

Кошмар какой. Вырубите к чертям register_globals, если не хотите потом переучиваться, а то и переписывать код в случае размещения последнего на хостинге.

Глобальные переменные с PHP5.0 отключены по-умолчанию и с PHP5.3 заблокированы в отключённом состоянии.


отключил, есть кое какие нюансы в функции, когда Я к ней обращаюсь, файл где должны были сохраняться данные обнуляется, можно сделать так, чтобы файл сохранялся с заданным именем, которое укажет пользователь?
10. EuGen - 23 Июня, 2011 - 10:37:31 - перейти к сообщению
Задавайте в форме и подставляйте значение.
Кстати, если задача в том, чтобы дописывать, то можно
PHP:
скопировать код в буфер обмена
  1. file_put_contents('friends2.html',implode("<br/>",array_map(create_function('$el','return "friend add $el";'),explode(',',$login))), FILE_APPEND);
11. jonmodem - 23 Июня, 2011 - 15:08:58 - перейти к сообщению
Спасибо всем за помощь!

PHP:
скопировать код в буфер обмена
  1. <?PHP file_put_contents('vic.html',implode("<br/>",array_map(create_function('$el','return "friend add $el";'),explode(',',$login))), FILE_APPEND); ?>


При дописывании получается:

friend add ivalnick
friend add ivan_i_demidov
friend add j_lambert_46
friend add friend add indigo_child
friend add inger02
friend add inside_2012
friend add iolly_r
friend add irek_murtazin
friend add ivalnick
friend add ivan_i_demidov
friend add j_lambert_46
friend add

как убрать friend add которые выделены жирным шрифтом

PHP:
скопировать код в буфер обмена
  1. file_put_contents('vic.txt',implode("\n",array_map(create_function('$el','return "friend add $el";'),explode(',',$login))), FILE_APPEND);


При дописывании получается:

friend add iolly_r
friend add irek_murtazin
friend add ivalnick
friend add ivan_i_demidov
friend add j_lambert_46
friend add friend add indigo_child
friend add inger02
friend add inside_2012
friend add iolly_r
friend add irek_murtazin
friend add ivalnick
friend add ivan_i_demidov
friend add j_lambert_46
friend add

как убрать выделенным, то есть не задействованные строки и как убрать дублирование на одной строке, и что бы не было 2-х пробелов между friend add и наше имя

 

Powered by ExBB FM 1.0 RC1