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

Форум PHP

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

 

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

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

тема: заменить n пробелов подряд на 1 в середине строки
 
 автор: irr   (26.10.2005 в 07:11)   письмо автору
 
 

нужно заменить n пробелов подряд на 1 в середине строки. подскажите, пожалуйста, функцию, которая может это сделать. trim удаляет только по краям. можно использовать str_replace(" ", " ", $str), но это только если 2 пробела. а если их 3 или более? хотя, ее можно зациклить... но может быть есть способ проще?

   
 
 автор: OZ_   (26.10.2005 в 07:17)   письмо автору
 
   для: irr   (26.10.2005 в 07:11)
 

Зацикли, пока 2 пробела есть, и всё - ну выполнится она 3-4 раза - да и фиг с ней - она быстрее и дешевле любой регулярки.

   
 
 автор: irr   (26.10.2005 в 07:27)   письмо автору
 
   для: OZ_   (26.10.2005 в 07:17)
 

спасибо. кстати, на этом форуме эта функция осуществлена - я наверху писал 2 пробела, а они заменились на один. надеюсь, еще автор подскажет, как он это сделал.

   
 
 автор: OZ_   (26.10.2005 в 07:32)   письмо автору
 
   для: irr   (26.10.2005 в 07:27)
 

А это делается автоматически - из WEB-форм текст приходит уже почищенный. Некоторые люди бьются над тем, как этого избежать :)

   
 
 автор: DDK   (26.10.2005 в 10:27)   письмо автору
 
   для: irr   (26.10.2005 в 07:11)
 

Воспользуйтесь функцией chop();

   
 
 автор: irr   (26.10.2005 в 11:41)   письмо автору
 
   для: DDK   (26.10.2005 в 10:27)
 

это псведноним rtrim(). удаляет пробелы из конца строки. и как мне это поможет? мне-то надо из середины.

   
 
 автор: P@Sol   (26.10.2005 в 11:47)   письмо автору
 
   для: irr   (26.10.2005 в 11:41)
 

<?
$text 
ereg_replace(" +"" "$good);

   
 
 автор: irr   (26.10.2005 в 11:59)   письмо автору
 
   для: P@Sol   (26.10.2005 в 11:47)
 

браво! то что нужно, спасибо огромное!

   
 
 автор: antf   (26.10.2005 в 12:01)   письмо автору
 
   для: DDK   (26.10.2005 в 10:27)
 

А не проще ли воспользоваться регулярными выражениями?
<?
  $text 
"sdfk   dsfjkd dskdjfkd  kdsfkljds dsfj";
  
$text "preg_replace("|([\s]{2,})|", ' ', $text)";
  print 
$text;
?>

   
 
 автор: irr   (26.10.2005 в 12:05)   письмо автору
 
   для: antf   (26.10.2005 в 12:01)
 

спасибо! так наверное тоже можно, но предыдущий пример короче :).

   
Rambler's Top100
вверх

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