PDA

Показать полную графическую версию : обработка форм текста на PHP


MXM
05-09-2004, 17:25
Привет!
Ситуация: имеется форма с различными полями, с textarea. Значения полей формы передаются скрипту, который записывает их в файл.
Вопрос: как обработать значение textarea, в частности, удалить, если есть пробелы в начале и конце текста, заменить два и более пробелов на один, записать в файл текст с учетом его написания, т.е. если пользователь написал сначала один абзац, далее через строку написал второй абзац, то чтоб это перевод строки был учтен при записи в файл.
Что я делаю (перед записью в файл):
$textarea= trim(str_replace("\n", "<br>", $textarea));
Правильно ли я делаю? При просмотре файла вижу вот что:
текст текст текст<BR>
<BR>
текст текст текст *
Как сделать замену повторяющихся пробелов?
Спасибо!


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

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

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

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




© OSzone.net 2001-2012