Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6317
Последний выпуск: 19.06.2015

Регулярные выражения

7.6K
03 июля 2012 года
intro
22 / / 12.04.2005
Доброго времени суток
Нужна помощь в составлении шаблона регулярного выражения для поиска и замены в строке пробела (0x20), стоящего между цифрой (римская, арабская) и каким либо словом на неразрывный пробел (спецсимвол  )
Напр. IV квартал, 2012 год, 1 января 2012 г. и т.п. сочетания
Желательна реализация на PHP

Сам голову сломал 8(
Буду благодарен за любой дельный совет
Спасибо
7.6K
03 июля 2012 года
intro
22 / / 12.04.2005
Ваше решение
Цитата: arrjj
 
Код:
preg_replace("/([IV\d]) (.*)/i","\1& nbsp;\2",$string);


не полностью отвечает моей задаче, но на правильный путь Вы меня "навели" ;) Спасибо!
Совсем забыл про ссылки в строке для замены!..
На данном этапе вышло следующее:

 
Код:
$string = "IV квартал, 2012 год, 1 января 2012 г.";
$pattern = "/(\d|[CIMVX]) ([а-яА-Я])/i";
$replacement = '$1_$2'; //символ "_" вместо & nbsp; для наглядности
echo preg_replace($pattern, $replacement, $string);
Может как-то упростить?

что касается:
Цитата: arrjj
 
Код:
[code=php]
str_replace(" ","& nbsp;",$string);


на выходе все пробелы, а не только "нужные" будут заменены на & nbsp; чего совсем не хотелось бы...

277
03 июля 2012 года
arrjj
1.7K / / 26.01.2011
 
Код:
preg_replace("/([IV\d]) (.*)/i","\1& nbsp;\2",$string);
но имхо можно через простой
 
Код:
str_replace(" ","& nbsp;",$string);

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог