Из формы textarea сохранить в файл в строчку

DenVeroid

Новичок
Из формы textarea сохранить в файл в строчку

Блин, вот незача выпола, чё делать?

Нужно из формы
PHP:
<textarea name=news_anons[$news_id] rows=5 cols=60 >".$text."</textarea>
сохранить в текстовом файлике в одну строчку, всё сохраняется нормально,
PHP:
$line = $key."::".$value_title."::".$value_date."::".$url_site."::".$calendar_file."::".$value_anons."::".$value_content."\n";>
но что делать если в форме textarea поместить текст через каждую строчку(строку перевода), то тогда при сохранении в текстовом файлике сохраняется не водну строчку а именно так как выглядело самой форме
как зделать всё водну?

вообщем должно быть так
1::anons::415042004::2004/04/15::2004-04::text
2::anons::415042004::2004/04/15::2004-04::text
3::anons::415042004::2004/04/15::2004-04::text
и т.д....
 

Линк

Guest
реплейснуть \n на пустое место
[m]ereg_replace[/m]
[m]preg_replace[/m]
[m]str_replace[/m]
 

Falc

Новичок
Линк
>>реплейснуть \n на пустое место
Лучше реплейсить на пробел и на краяняк можно потом двойные пробелы удалить :)

А вообще оптималенее любую последовательность пробельных символов (\s+) замениьть на пробел.
 

Линк

Guest
Maxim, Вы тоже не читаете вопрос, прежде чем ответить?

Falc, тоже верно)
 

Макс

Старожил PHPClub
Линк
нет не читаю.

Чем не устраивает решение через
$text = addcslashes($text, "\n");
?
 

Макс

Старожил PHPClub
$text = addcslashes($text, "\r\n");

перед выводом надо будет делать stripcslashes()
 

Макс

Старожил PHPClub
проще, но твой код "портит" данные. ИМХО (согласен здесь с Фанатом) данные надо записывать в базу или в файл, такими какими их добавил юзер.
 

Falc

Новичок
Maxim Matyukhin
Пологаться все время на пользователя не стоит среди них часто попадаются криворукие :)
 

DenVeroid

Новичок
вот одно немогу понять, зачем нужны эти функции слэшли, какую роль они выполняют? пробывал я их, как вы написали, эфекта никакого, может подругому как то можно, помню что можно управлять содержимым формы textarea, там вроде есть какойто парамерт(он указывается в самой форме) непомню точно как он пишется что-то=virtual, soft, hard...
 

Макс

Старожил PHPClub
вот одно немогу понять, зачем нужны эти функции слэшли, какую роль они выполняют?
экранируют символы перевода строк.
пробывал я их, как вы написали, эфекта никакого,
пример:
PHP:
<?
$a = "text
text
text";
$a = addcslashes($a,  "\r\n");
$f = fopen("file", "w");
fputs($f, $a);
fclose($fp);
?>
в файле вижу :
Код:
text\r\ntext\r\ntext
Falc
а на нормальных пользователей тоже забить предлагаешь ?
 

Falc

Новичок
Maxim Matyukhin
>>а на нормальных пользователей тоже забить предлагаешь ?
Нет, но их как правило устраивает мое форматирование. Темболее что в большенстве случаев он не заметят разницы :)
 

DenVeroid

Новичок
Maxim Matyukhin , спасибо твой код работает

Кстати, вот нарыл функцию от Манликса

PHP:
function manlix_to_normal_string($string)
{
        if(!$string){return false;}

        else
        {
        $string=ereg_replace("(".chr(9)."|".chr(11)."|".chr(13).")","",$string);
        $string=ereg_replace(chr(10),"<br>",$string);
        $string=ereg_replace(":","&#58;",$string);
        $string=ereg_replace(" +"," ",$string);

                if(!$string){return false;}
                elseif($string!=" "){return trim($string);}
        }
}
вывод такой:
PHP:
2476::По его словам::n516042004::2004/04/16::2004-04::rrrr<br>L<br><br>LLKK<br><br>KK
 

Falc

Новичок
DenVeroid
>>Кстати, вот нарыл функцию от Манликса
Не лучший вариант.
 

Falc

Новичок
DenVeroid
Ну вопервых он делает несколько не то что ты просил, а вовторых то что он делает можно сделать гораздо красивее :)
 

DenVeroid

Новичок
Вот что-то своё замутил
PHP:
$value_content = addcslashes($value_content,  "\r\n");
$value_content=stripslashes($value_content);
$value_content = str_replace("rn"," ",$value_content);
Как он вам, нет ли никаких подвох?

действие:
1. устанавливает в строчку
2. удаляет слэши у \r\n
3. заменяет rn на пробел
 
Сверху