tkovacs
@tkovacs
веб мастер

Preg_replace_callback, как записать найденные значения в массив?

Я хочу записать найденные значения функцией preg_replace_callback в массив и удалить из текста.
Примерно так, только в callback функции не видно массива находящегося снаружи.
$text = 'Просто текст 12345';
$matches = [];
echo preg_replace_callback('~[0-9]~', function($matches) {
$matches[] = $matches;
return '';
}, $text);

Или возможно другой вариант, найти некие значения в тексте, удалить их и сохранить отдельно.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@dodo512
$text = 'Просто текст 12345';
$matches = [];
$text = preg_replace_callback('~[0-9]~', function($match) use(&$matches) {
$matches[] = $match[0];
return '';
}, $text);

var_dump($text, $matches);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы