Задать вопрос
qpPeW
@qpPeW
Не люблю рутинную работу...

Как выполнить функцию после обработки preg_replace на PHP 8?

Во время PHP 5 использовали preg_replace и шаблон /e который заменял слово на функцию и выполнял её, после перехода на PHP 7+ шаблон убрали.
Как сейчас возможно реализовать этот момент без глобальной переписки кода?
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
И правильно что убрали, не нужны eval возможности, там где должен быть текстовый параметр.
Для пользовательской обработки есть отдельная функция с явным callback параметром:
https://www.php.net/preg_replace_callback
Получается, что нужно убрать модификатор /e и сделать обертку анонимной функции для нормального вызова функции.
Ответ написан
Ваш ответ на вопрос

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

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