Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Пробелы после точек
Форумы портала PHP.SU » PHP » Регулярные выражения » Пробелы после точек

Страниц (1): [1]
 

1. Antah - 12 Марта, 2010 - 14:54:18 - перейти к сообщению
Для автоматического добавления пробела после точки в сообщениях пользователей (которые они паталогически стали забывать ставить!) применил при обработке сообщения такой код (пробел для наглядности заменен на подчеркивание):

CODE (htmlphp):
скопировать код в буфер обмена
  1. $mess = preg_replace("/\._/", ".", $mess);
  2. $mess = preg_replace("/\./", "._", $mess);

Две команды - чтобы не задваивать пробел там, где он уже есть: сперва после всех точек удалим пробел (теперь его нет нигде!), потом - поставим пробел после всех точек.
Уперся в многоточие.
Надо добавлять пробел только после тех точек, где следующий символ - не точка.
Переписал код так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $mess = preg_replace("/\._/", ".", $mess);
  2. $mess = preg_replace("/\.[^\.]/", "._", $mess);

Результат: сжирается следующий за точкой символ (меняется на пробел).
Где рыть?
2. Champion - 12 Марта, 2010 - 14:56:04 - перейти к сообщению
3. Antah - 12 Марта, 2010 - 15:02:46 - перейти к сообщению
Нет, увы, пробовал.

Моя команда машиной понимается так:
Заменить на "точка+пробел" любую точку и символ за ней, если это не точка.

Ваша команда звучит так:
Заменить на "точка+пробел" любую точку и символ за ней, если это не точка или пробел.

Символ после точки сжирается все равно...
4. Champion - 12 Марта, 2010 - 15:06:04 - перейти к сообщению
Да, стормозил. Вот так:
PHP:
скопировать код в буфер обмена
  1.  $mess = preg_replace('/\.([^\. ])/', '. \1', $mess);
5. kochan10 - 12 Марта, 2010 - 15:11:33 - перейти к сообщению
Переделал, теперь работает, вот:

Вот так=)
6. Antah - 12 Марта, 2010 - 15:12:39 - перейти к сообщению
Ура! Работает!
Спасибо, Champion!
Улыбка
7. kochan10 - 12 Марта, 2010 - 15:24:18 - перейти к сообщению
опоздал((( жестко опоздал(((
но ведь тоже работает! и проще...

 

Powered by ExBB FM 1.0 RC1