Forum Webscript.Ru

Программирование => PHP => Тема начата: от 02 Июля 2002, 12:58:13

Название: Need help
Отправлено: от 02 Июля 2002, 12:58:13
Такая проблема:
читаю из файла построчно, затем записываю каждую строку в MySQl-базу, но не получается избавиться в конце от символа перевода строки.

Просто затем эта строка подставляется в Java Script, вот тут-то и начинаются проблемы - вставляется перенос и скрипт не работает.

Что делать?
Название: Need help
Отправлено: .Sm@sH. от 02 Июля 2002, 13:58:19
eregi_replace("\\n", "", $str);

Помогает?
Название: Need help
Отправлено: GotZfild от 02 Июля 2002, 14:15:55
trim() каждую строку.
Название: Need help
Отправлено: от 02 Июля 2002, 15:01:37
Все, что было предложено выше не помогало.

Помогло - str_replace ("\\r\\n", "", $str);

Почему, непонятно.
Название: Need help
Отправлено: .Sm@sH. от 02 Июля 2002, 15:05:33
Как это непонятно?
Значит там еще и возврат каретки был...
Название: Need help
Отправлено: MadDog от 02 Июля 2002, 15:35:55
GotZfild
trim() в данном контексте удаляет начальные и концевые пробелы. Суть же топика была
Цитировать
не получается избавиться в конце от символа перевода строки
Поэтому надо использовать $str=trim($str, "\\r\\n");

http://www.php.net/manual/en/function.trim.php
Название: Need help
Отправлено: GotZfild от 02 Июля 2002, 16:20:54
MadDog
Цитировать
удаляет начальные и концевые пробелы

и не только. Он удаляет любые пустые символы, в том числе и символы перевода строки, и возврат коретки.
Например
$str = "this is a string\\t\\r\\n";
if (preg_match("![\\t\\n\\r]!", trim($str))) echo "Нашел"; else echo "Не нашел";
выведет "Не нашел"
Название: Need help
Отправлено: MadDog от 02 Июля 2002, 18:01:29
GotZfild
Цитировать
выведет "Не нашел"
А ты после "\\n" в строке поставь что-нибудь еще, текст, например. И сразу увидишь совершенно другую картину. "Нашел" :)
Название: Need help
Отправлено: GotZfild от 02 Июля 2002, 18:12:47
Цитировать
избавиться в конце

В вопросе написано в КОНЦЕ строки.
Название: Need help
Отправлено: Oak от 02 Июля 2002, 21:44:30
Вообщето это всегда нвзывалось так:
Chop -- Remove trailing whitespace.

И в Perl-e тоже "chomp"