Преобразование старого кода preg_replace в новую функцию обратного вызова

Я пытался преобразовать старый php-код, содержащий метод preg_replace, в новый, но не могу справиться. У меня есть три похожих метода preg_replace:

$encoded = preg_replace("/([^A-Za-z0-9!*+/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
$encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
$encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
              "'='.sprintf('%02X', ord('\\1'))", $encoded);

Не могли бы вы помочь мне и перейти на более новый метод preg_replace_convert?

Я пытался сделать что-то подобное для первого, но я не знаю, как вставить метод sprintf в функцию соответствия:

$encoded = preg_replace_callback("/([^A-Za-z0-9!*+/ -])/", function ($matches) {
            return chr($matches[1]);
        }, $encoded);

Какую старую версию вы хотите конвертировать?

nice_dev 17.05.2022 08:18
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

preg_replace() \e означает использование замены в качестве php-кода, поэтому в вашем случае, если вы используете preg_replace_callback(), вы должны изменить "'='.sprintf('%02X', ord('\\1'))" в случае 1 на return sprintf('%02X', ord($matches[1]));

Другие вопросы по теме