Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Функция для замены


Автор: Leklerk 22.9.2009, 17:42
Существует ли функция, которая заменяет в данной строке $string все вхождения строки (или символа) $a на строку (или символ) $b, при этом
(самое главное) начиная с некоторой позиции? Не нашёл такую...  smile 

Автор: Strilo4ka 22.9.2009, 17:51
в помочь регулярные выражения в таких случаях. http://www.pcre.ru/docs/php/text/stdsyntax/

Автор: Simpliest 22.9.2009, 18:05
Цитата(Leklerk @  22.9.2009,  17:42 Найти цитируемый пост)
Не нашёл такую...

Ну если не нашел, то напиши.

Автор: Leklerk 22.9.2009, 18:09
Цитата

Ну если не нашел, то напиши. 

Странно, что str_replace() не позволяет заменять начиная с некоторой позиции. Иногда возникает такая необходимость...

Автор: Strilo4ka 22.9.2009, 18:10
PREG_OFFSET_CAPTURE 

флаг в функции preg_match. Доступный начиная с PHP 4.3.0. 

Автор: Simpliest 22.9.2009, 18:12
Цитата(Leklerk @  22.9.2009,  18:09 Найти цитируемый пост)
Странно, что str_replace() не позволяет заменять начиная с некоторой позиции. Иногда возникает такая необходимость... 

Использовать сразу 2!! функции substr() и str_replace() религия не позволяет?

Автор: Strilo4ka 22.9.2009, 18:16
PREG_OFFSET_CAPTURE 
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Данный флаг доступен в PHP 4.3.0 и выше. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)