Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление пробелов после запятой 
:(
    Опции темы
sanich_
Дата 14.5.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Нужно после запятой, точки, точки с запятой проставить пробел в строке

Как добавить пробел после запятой сообразил,

Код


$string = "слово1,cлово2.cлово3;слово4";
echo preg_replace('/,(.+)/i', ', \1', $string);


А как в эту контрукцию добавить еще 

добавление пробела после "." и после ";"

???

Это сообщение отредактировал(а) sanich_ - 14.5.2008, 19:44
PM MAIL   Вверх
skyboy
Дата 14.5.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



Код

$string= str_replace(array(',','.',';'),array(', ','. ','; '), $string);

или речь о том, чтоб поставить пробел после всех символов конца слова(к тобою указанным добавляются двоеточие, тире, слеши; кроме того, как в троеточии прикажешь пробелы расставлять: после каждой точки?)?
PM MAIL   Вверх
sanich_
Дата 14.5.2008, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Цитата(skyboy @ 14.5.2008,  20:19)
Код

$string= str_replace(array(',','.',';'),array(', ','. ','; '), $string);

или речь о том, чтоб поставить пробел после всех символов конца слова(к тобою указанным добавляются двоеточие, тире, слеши; кроме того, как в троеточии прикажешь пробелы расставлять: после каждой точки?)?

Мне нужна не просто замена точек, запятых 

Заменить нужно только в том случае если после точки нет пробела

Т.е. тут только регулярка
PM MAIL   Вверх
amg
Дата 15.5.2008, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



Цитата(sanich_ @  14.5.2008,  20:43 Найти цитируемый пост)
Заменить нужно только в том случае если после точки нет пробела
Код
preg_replace('/([,.;]+)\s*/', '$1 ', $string);
preg_replace('/([[:punct:]]+)\s*/', '$1 ', $string);
Вторая строка - для всех знаков пунктуации. Многоточие не пострадает...

PM MAIL   Вверх
Druidik25
  Дата 15.5.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 27.1.2005
Где: Киев, Украина

Репутация: нет
Всего: нет



Извиняюсь можно более понятно. Если уже известно что там не больше одного пробела... то:

Код

$string= str_replace(array(',','.',';'),array(', ','. ','; '), $string);

а потом:
Код

$string= str_replace('  ',' ', $string);

Тобиш, если есть 2 пробела менять на 1... 

Мож и выглядит как решение новичка... Но так понятней... по моему....

Это сообщение отредактировал(а) Druidik25 - 15.5.2008, 12:00
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1077 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.