Forum Webscript.Ru
Программирование => PHP => Тема начата: fedechka от 09 Января 2002, 21:38:55
-
Господа! У меня такой вопрос.
Нужно в переменной убрать все символы перевода строки, чтоб мессагу из гостевухи записать в файл одной строкой. Точнее, не совсем убрать, а "\\n" заменить на "
", а %0D убрать совсем. Замена "\\n" работает, а вот строка
$name=ereg_replace("%0D","",$name);
не дает ничего и оставляет перевод строки:(
Что я не так делаю?
-
$string = str_replace("\\n", "
", $string);
-
Так это-то как раз делается. %0A убирается и нормально заменяется на
. А вот второй, который %0D, так и остается:(
-
$string = str_replace("\\r\\n", "
", $string);
-
Как говорится у нас в России, данке вери мач:)
Спасибо:)
-
Кстати, а откуда берется %0D?
-
Дык... винда пихает вместе с %0A.
-
убери "b" при открытии/записи файла, т.е. просто fopen("file", "r"); и тогда php все 0x0d 0x0a заменяет на \\n
если у тебя гостевая используется, то не надо \\r, делается так
...
-
Дык.. в чем фигня-то... я хочу таким боком счетчик мессаг организовать и потом постранично выводить. То бишь пишу мессаги в файл, приведя их в одну строку с разделением по BR, а потом считаю кол-во строк в файле - столько и мессаг, грубо говоря. Так вот для того все переводы и убираю.
-
...
здесь хтмл-форма
...
после сабмита, вот так:
что-нибудь делаешь, например, с $name, $date ... из формы
$text = str_replace("\\n", "
", $text)
$fp=fopen("guestbook.dat", "a+");
fputs($fp, $name."|".$date."|".$text."\\n");
fclose($fp);
а читать:
$array = file("guestbook.dat"); // массив из строк в файле
$count = sizeof($array); // число строк, т.е. записей в гостевой.
и никаких замен 0x0d & 0x0a :)