Forum Webscript.Ru
Программирование => PHP => Тема начата: от 02 Июля 2002, 12:58:13
-
Такая проблема:
читаю из файла построчно, затем записываю каждую строку в MySQl-базу, но не получается избавиться в конце от символа перевода строки.
Просто затем эта строка подставляется в Java Script, вот тут-то и начинаются проблемы - вставляется перенос и скрипт не работает.
Что делать?
-
eregi_replace("\\n", "", $str);
Помогает?
-
trim() каждую строку.
-
Все, что было предложено выше не помогало.
Помогло - str_replace ("\\r\\n", "", $str);
Почему, непонятно.
-
Как это непонятно?
Значит там еще и возврат каретки был...
-
GotZfild
trim() в данном контексте удаляет начальные и концевые пробелы. Суть же топика была не получается избавиться в конце от символа перевода строки
Поэтому надо использовать $str=trim($str, "\\r\\n");
http://www.php.net/manual/en/function.trim.php
-
MadDog
удаляет начальные и концевые пробелы
и не только. Он удаляет любые пустые символы, в том числе и символы перевода строки, и возврат коретки.
Например
$str = "this is a string\\t\\r\\n";
if (preg_match("![\\t\\n\\r]!", trim($str))) echo "Нашел"; else echo "Не нашел";
выведет "Не нашел"
-
GotZfild
выведет "Не нашел"
А ты после "\\n" в строке поставь что-нибудь еще, текст, например. И сразу увидишь совершенно другую картину. "Нашел" :)
-
избавиться в конце
В вопросе написано в КОНЦЕ строки.
-
Вообщето это всегда нвзывалось так:
Chop -- Remove trailing whitespace.
И в Perl-e тоже "chomp"