Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вырезать пустые переходы на другую строку?
 
 автор: Vanex   (15.06.2006 в 09:11)
 
 

Как вырезать пустые переходы на другую строку?
Допустим мне нужно обработать поля формы и там чтобы никто не мог делать пустые строки.


Проверка

Проверка2


Заменялась на

Проверка
Проверка2

   
 
 автор: kadet   (15.06.2006 в 09:25)   письмо автору
 
   для: Vanex   (15.06.2006 в 09:11)
 

Я думаю функцией trim()

   
 
 автор: NFR   (15.06.2006 в 09:59)   письмо автору
 
   для: Vanex   (15.06.2006 в 09:11)
 

можно попробовать вот так:

$text = str_replace('\n\n','\n',$text);

   
 
 автор: Vanex   (15.06.2006 в 13:21)
 
   для: NFR   (15.06.2006 в 09:59)
 

Не ничего не работает
trim удаляет пустые места по бокам слова

   
 
 автор: е   (15.06.2006 в 13:54)
 
   для: Vanex   (15.06.2006 в 13:21)
 

е

   
 
 автор: komex   (15.06.2006 в 15:26)   письмо автору
 
   для: Vanex   (15.06.2006 в 13:21)
 

А как сказал NFR тоже не работает?

   
 
 автор: Vanex   (15.06.2006 в 15:48)
 
   для: komex   (15.06.2006 в 15:26)
 

Нет, не работает.

   
 
 автор: komex   (15.06.2006 в 16:04)   письмо автору
 
   для: Vanex   (15.06.2006 в 15:48)
 

А что пишет, что происходит? Или ничего не меняется?

P.S. А может лучше исправить что-то при записи в файл? Или у тебя нету записи?

   
 
 автор: Vanex   (15.06.2006 в 16:44)
 
   для: komex   (15.06.2006 в 16:04)
 

Ничего не меняется.

У меня из html формы приходят данные(на скрипт) для записи в файл.
Мне нужно чтобы убрались лишнии переходы на новую строчку.

   
 
 автор: komex   (15.06.2006 в 16:49)   письмо автору
 
   для: Vanex   (15.06.2006 в 16:44)
 

А как передаются данные? И как они записываются? Может можно при записи лишнюю строку убрать.

   
 
 автор: cheops   (15.06.2006 в 22:33)   письмо автору
 
   для: Vanex   (15.06.2006 в 13:21)
 

Попробуйте такую конструкцию
<?php
  $text 
str_replace("\n\n","\n",$text);
  
$text str_replace("\r\n\r\n","\r\n",$text);
?>

   
 
 автор: Vanex   (15.06.2006 в 22:48)
 
   для: cheops   (15.06.2006 в 22:33)
 

Да-да, заработала...
$text = str_replace("\r\n\r\n","\r\n",$text);
НО!!! Она заменяет только Когда r\n\r\n!!!
А когда больше пустых переходов???
Можно:
$text = str_replace("\r\n\r\n","\r\n",$text);
$text = str_replace("\r\n\r\n","\r\n",$text);
$text = str_replace("\r\n\r\n","\r\n",$text);
Но это же не выход!?

   
 
 автор: valenok   (15.06.2006 в 22:58)   письмо автору
 
   для: Vanex   (15.06.2006 в 22:48)
 

Ну сколько у тебя там может быть максимум этих переходов?
Ну сделай что нибудь такое:

for($i=0;$i<10;$i++){
$text = str_replace("\r\n\r\n","\r\n",$text);}

   
 
 автор: Vanex   (15.06.2006 в 23:06)
 
   для: valenok   (15.06.2006 в 22:58)
 

Ну я тоже об этом думал, но ведь никто незнает сколько введёь переходов пользователь в гостевой книги для флуда.

   
 
 автор: valenok   (15.06.2006 в 23:16)   письмо автору
 
   для: Vanex   (15.06.2006 в 23:06)
 

trim() Удаляет пробелы из начала и конца строки


Почитай. Там вроде на Русском.

   
 
 автор: Vanex   (15.06.2006 в 23:53)
 
   для: valenok   (15.06.2006 в 23:16)
 

Да я обратил внимание на Необязательный аргумент charlist , но не Пашет. Может я чёто не так...
$text = trim($text, " \n.");

   
 
 автор: valenok   (16.06.2006 в 00:09)   письмо автору
 
   для: Vanex   (15.06.2006 в 23:53)
 

А просто $str=trim($str);

   
 
 автор: Vanex   (16.06.2006 в 00:12)
 
   для: valenok   (16.06.2006 в 00:09)
 

Так если $str=trim($str); он просто удалит по бокам текста пусто место, а не переходы!

   
 
 автор: 1999   (16.06.2006 в 00:18)   письмо автору
 
   для: Vanex   (15.06.2006 в 23:53)
 

\n без точки

   
 
 автор: Fanat   (16.06.2006 в 01:57)   письмо автору
 
   для: 1999   (16.06.2006 в 00:18)
 

Попробуй вот так у меня работает... пользуюсь уже давно... просто создаю такую переменную
$p="
";


 $p="
";
$content = str_replace("$p", "\n", $content);


Регулярным выражением просто заменяем её на нужное нам...

   
 
 автор: Vanex   (16.06.2006 в 10:04)
 
   для: Fanat   (16.06.2006 в 01:57)
 

Не, чёто не выходит:

$p="\r\n\r\n"; 
$content = str_replace("$p", "\r\n", $content);

Тоже как и раньше вырезает только 1 раз.

   
 
 автор: Trianon   (16.06.2006 в 10:34)   письмо автору
 
   для: Vanex   (16.06.2006 в 10:04)
 

эх....

$content = str_replace("\n", "\r\n", 
           str_replace("\n\n", "\n", 
           str_replace("\n\n", "\n", 
           str_replace("\n\n", "\n", 
           str_replace("\n\n", "\n", 
           str_replace("\n\n", "\n", str_replace("\r\n", "\n", $content)) ))))); 

   
 
 автор: valenok   (16.06.2006 в 11:27)   письмо автору
 
   для: Vanex   (16.06.2006 в 10:04)
 

Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

" " (ASCII 32 (0x20)), символ пробела.

"\t" (ASCII 9 (0x09)), символ табуляции.

"\n" (ASCII 10 (0x0A)), символ перевода строки.

"\r" (ASCII 13 (0x0D)), символ возврата каретки.

"\0" (ASCII 0 (0x00)), NUL-байт.

"\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Там вроде все есть. Ты побовал как я сказал без второго параметра?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования