Как регуляркой не просто удалить, но и возвратить удаляемое из строки?
Неужели для такой задачи нужно производить двойной проход регуляркой?
Сначала через preg_match - выясняем, есть ли нужная подстрока и сохраняем её в стороннюю переменную.
Потом через preg_replace с точно таким же шаблоном удаляем подстроку из строки.
preg_replace_callback не подходит? будет вызывать твой метод для обработки каждого найденного вхождения чтобы получить строку, на которую ее нужно заменить
webymax, конечно можно, любым способом, например глобальные переменные или статические мемберы классов или ключевое слово use перед определением callback функции если она определена тут же, через нее можно передать объект по ссылке, в котором вызывать нужные методы
Дмитрий, ну нет ) Вы предлагаете подсчёт количества вхождений подстроки, причём фиксированной. А вопрос в том, чтобы подстроку определить регуляркой, вырезать её из строки и оставить в какой-нибудь переменной для дальнейшего использования.