Задать вопрос
@artmirarmi

Как сделать замену по регулярному выражению?

Здравствуйте.
Мне необходимо сделать замену по регулярному выражению, я делаю следующий образом:
preg_replace('/{{(.+)}}/', substr('$1', 0, -5), $text);

Второй параметр replacement может содержать ссылки такого вида $n (вместо n любое число). Каждая такая ссылка будет заменена на подстроку, соответствующую n-ой подмаске.
Но проблема в том, что при вызове функции substr(); эта ссылка не подставляются в первый параметр, а мне надо это сделать. То есть мне нужно чтобы в функцию substr первым параметром была передана подстрока, соответствующая этой маске (.+)
Подскажите как можно это сделать?
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Skiphog
@Skiphog
Crutch developer
$text = preg_replace_callback('/{{(.+)}}/', function ($value) {
    return substr($value[1], 0, -5);
}, $text);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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