Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   обработка форм текста на PHP (http://forum.oszone.net/showthread.php?t=31002)

MXM 05-09-2004 17:25 212643

Привет!
Ситуация: имеется форма с различными полями, с textarea. Значения полей формы передаются скрипту, который записывает их в файл.
Вопрос: как обработать значение textarea, в частности, удалить, если есть пробелы в начале и конце текста, заменить два и более пробелов на один, записать в файл текст с учетом его написания, т.е. если пользователь написал сначала один абзац, далее через строку написал второй абзац, то чтоб это перевод строки был учтен при записи в файл.
Что я делаю (перед записью в файл):
Код:

$textarea= trim(str_replace("\n", "<br>", $textarea));
Правильно ли я делаю? При просмотре файла вижу вот что:
Код:

текст текст текст<BR>
<BR>
текст текст текст *

Как сделать замену повторяющихся пробелов?
Спасибо!


[s]Исправлено: Prisoner, 3:10 6-09-2004[/s]

Prisoner 06-09-2004 03:23 212644

Код:

$TxtOut = preg_replace('/\s+/', ' ', nl2br(trim($Txt)))
Есть некоторого рода избыточность (+), но ночью, на вскидку больше ничего придумать не смог :).

MXM 10-09-2004 22:21 212645

Подскажите, а так правильно:
$textarea=trim(preg_replace("'([\r\n])[\n]+'",'<BR>',$textarea));
$textarea=preg_replace("/ +/",' ',$textarea);

Prisoner 11-09-2004 04:27 212646

Неа. А объяснять что да как - долго, поэтому призываю почитать доки по регулярным выражениям (лучше Perl-совместимым). Хотя бы на php.net в разделе доков.


Время: 10:24.

Время: 10:24.
© OSzone.net 2001-