[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена всего кроме последнего вхождения.
linf
История такова, есть строка в ней любые символы, и в ней есть точки.
Так вот, нужно найти все точки кроме последней, что бы их заменить, а последнюю оставить.
Можно конечно сделать через разбивку на массив, но хотелось бы регулярным выражением.

Делаю так, но эффект совсем обратный:
(\.)(?:(?!\.).)*?$


Подскажите в чем я ошибся?

_____________
Live in new format =)
Winston
Дай строку из которой вырезать
linf
Цитата (Winston @ 4.01.2013 - 16:53)
Дай строку из которой вырезать

любая строка, даже такая:

abcd.fd>fdd. fre? ere,rre,rtyubb 0 34. dfhhf.you




_____________
Live in new format =)
Winston
Так пойдет?
$count = substr_count($str, '.');
echo preg_replace('/\./', '', $str, --$count);
linf
Цитата (Winston @ 4.01.2013 - 17:00)
Так пойдет?
$count = substr_count($str, '.');
echo preg_replace('/\./', '', $str, --$count);

Да, огромное спасибо, а то я уже начал мастерить разбивку на массив и потом склеивать его.

_____________
Live in new format =)
killer8080
можно еще проще
$t = 'abcd.fd>fdd. fre? ere,rre,rtyubb 0 34. dfhhf.you';
echo preg_replace('#\.([^.]+(?=\.))#', '$1', $t);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.