Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Не могу найти PHP_EOL в $POST от textarea
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




Собственно вопрос в теме.

Не могу понять, пишу в textarea несколько строк каждую с новой строки...ну ENTER жму. На выходе ловлю:

			if(strstr($_POST['test'],PHP_EOL))echo'!';
else echo'E';


пишет Е??? Почему-то...но если тут же $_POST['test'] вставить внутрь textarea он вставляет с переносами, как и нужно.

Почему так?


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




Как бы разобрался:

	if(strstr($_POST['test'],"\n"))echo'!';
else echo'E';


Теперь не понятно какого не работает PHP_EOL?


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




echo ord(PHP_EOL);//13


Перевод строки : 10

Возврат каретки: 13

Ну и как же быть тогда? :) Почему не пишется возврат каретки он же есть.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




Короче пришел к выводу, что возврат каретки теряется во время AJAX запроса, когда вытаскиваю значение из textarea:

document.getElementById("id").value;


JS не вытаскивает возврат каретки.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lans8097  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Даже не смотри сюда
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 197
Пользователь №: 30468
На форуме: 5 лет, 27 дней
Карма: 3




Цитата (ABC @ 18.10.2013 - 02:32)
Короче пришел к выводу, что возврат каретки теряется во время AJAX запроса, когда вытаскиваю значение из textarea:

document.getElementById("id").value;

Ну так проверьте на уровне клиента что на самом деле уходит в заголовок.
Я вот сижу и не магу понять зачем вы это делаете
Для каких целей вам это надо ?
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




lans8097
Ну дак я проверил что не приходит, нашел вот теперь место где теряется...

нужно это чтоб на основе строк из техтареа построить через аякс запрос тестовый селект из этих строк...в обработчике айкса использую:

$temp=explode(PHP_EOL,$_POST['selects']);


Вот сюда не приходят PHP_EOL


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1755
Пользователь №: 20757
На форуме: 6 лет, 10 месяцев, 8 дней
Карма: 184




PHP_EOL - символ конца строки в платформе на которой запущен пхп. Это совсем не означает, что на клиенте он такой же.
preg_split( "/\r\n|\r|\n/", $string );
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




kaww
Да...точно, спасибо.
Но все равно не понимаю до конца:

Перенос строки в тектареа (от => Браузера) это 2 символа:
1. Возврат коретки - код 13
2. Новая строка - код 10

Ведь это разные символы...ну да эффект для юзера не заметен, но все же почему на одном и том же компе в том же браузере его ядро JS берет инфу из текстареа и пропадает Возврат коретки?

Кстатит если вдруг кому интересно аналоги пэхэпэшных strstr и ord в JS, которыми пользовался:

function strstr( haystack, needle, bool ) {	// Find first occurrence of a string
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)


var pos = 0;

pos = haystack.indexOf( needle );
if( pos == -1 ){
return false;
} else{
if( bool ){
return haystack.substr( 0, pos );
} else{
return haystack.slice( pos );
}
}
}

function ord( string ) { // Return ASCII value of character
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)


return string.charCodeAt(0);
}


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25994
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 27 дней
Карма: 725

Не курю:
1 год, 2 месяца, 13 дней


Цитата
preg_split( "/\r\n|\r|\n/", $string );

к чему такое чудо, когда

$temp=explode(PHP_EOL,$_POST['selects']);

с этим прекрасно справляется?

PHP_EOL на разных платформах - сама знает что нужно содержать, либо \r либо \r\n


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 23 дня
Карма: 112




Цитата (Игорь_Vasinsky @ 18.10.2013 - 07:51)
Цитата
preg_split( "/\r\n|\r|\n/", $string );

к чему такое чудо, когда

$temp=explode(PHP_EOL,$_POST['selects']);

с этим прекрасно справляется?

PHP_EOL на разных платформах - сама знает что нужно содержать, либо \r либо \r\n

как раз таки у него верное решение, PHP_EOL не знает, в этой константе сожержиться информация о способе переноса строки в конкретной ОС где запускается интерпретатор.

Можешь сам проверить на разных ос это дело


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25994
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 27 дней
Карма: 725

Не курю:
1 год, 2 месяца, 13 дней


кстати

PHP_EOL (string)
Корректный символ конца строки, используемый на данной платформе. Доступна начиная с версии PHP 4.3.10 и PHP 5.0.2


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3847
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 8 дней
Карма: 87




Игорь_Vasinsky
Дело в том, что в моем случае содержимое вытаскивается из textarea js`ом браузера и отправляется на сервер, который с радостью ищет там PHP_EOL и не находит, потому, что ***** js, как я понял, теряет символ конца строки, а использует только символ начала строки.

Если сделать тоже самое обычным submit формы, то
$temp=explode(PHP_EOL,$_POST['selects']);

прекрасно сработает, только что проверял.

Проблема только с AJAX`ом. Но с костылем:
preg_split( "/\r\n|\r|\n/", $string ); 
предложенным kaww все прекрасно работает.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса