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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перенос входящего текста по строкам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Нужно входящий текст из textarea разбить по строкам
jonmodem
Отправлено: 23 Июня, 2011 - 09:01:32
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Есть поле
<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

(Отредактировано автором: 23 Июня, 2011 - 09:25:04)

 
 Top
Мелкий Супермодератор
Отправлено: 23 Июня, 2011 - 09:24:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




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


-----
PostgreSQL DBA
 
 Top
jonmodem
Отправлено: 23 Июня, 2011 - 09:31:42
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Мелкий пишет:
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 пусто, работаю на локальном сервере, все включено, но функция не работает
 
 Top
EuGen Администратор
Отправлено: 23 Июня, 2011 - 09:34:46
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
jonmodem
Отправлено: 23 Июня, 2011 - 09:49:54
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




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
 
 Top
Мелкий Супермодератор
Отправлено: 23 Июня, 2011 - 09:50:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




EuGen, пару минут пытался найти, в чём разница. Таки да, по привычке поставил одинарные кавычки, двойные нужны.

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

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


-----
PostgreSQL DBA
 
 Top
jonmodem
Отправлено: 23 Июня, 2011 - 10:03:05
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Мелкий пишет:
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/> работает как перенос, теперь все работает как нужно.
 
 Top
Мелкий Супермодератор
Отправлено: 23 Июня, 2011 - 10:10:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




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

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

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


-----
PostgreSQL DBA
 
 Top
jonmodem
Отправлено: 23 Июня, 2011 - 10:32:59
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Мелкий пишет:
jonmodem пишет:
решил проблему, $login работает и работал

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

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


отключил, есть кое какие нюансы в функции, когда Я к ней обращаюсь, файл где должны были сохраняться данные обнуляется, можно сделать так, чтобы файл сохранялся с заданным именем, которое укажет пользователь?
 
 Top
EuGen Администратор
Отправлено: 23 Июня, 2011 - 10:37:31
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
jonmodem
Отправлено: 23 Июня, 2011 - 15:08:58
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Спасибо всем за помощь!

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 и наше имя

(Отредактировано автором: 23 Июня, 2011 - 17:58:31)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB