Preg_replace на preg_replace_callback как?

Я пытаюсь выяснить, как изменить это с preg_replace на preg_replace_callback. После прочтения руководства и просмотра нескольких примеров все еще нет никакого эффекта - только ошибки.

Кто-нибудь может мне подсказать?

$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);

это уже должна быть версия обратного вызова? Эта строка как второй параметр должна присутствовать в обратном вызове?

Jeff 04.11.2018 20:22

Это тоже похоже на проблему XY. Какая задача стоит за этим?

Jeff 04.11.2018 20:23

Это часть скрипта регистрации вместе с обработкой ошибок на нескольких языках. Нет, это версия preg_replace.

bodzio16 04.11.2018 20:30

В любом случае кажется несколько избыточным в этом коде. Все, что делает регулярное выражение, - это утверждает, что строка является буквенно-цифровой, и ищет ее в массиве или оставляет ее, если она не определена. На самом деле нет необходимости вводить обратный вызов.

mario 04.11.2018 20:51

@JackGiffin Потому что это никому не помогает ответить на сотый вариант того же вопроса. Это просто размывает результаты поиска в Google.

mario 04.11.2018 20:53

@JackGiffin Верхний ответ на обманутый вопрос дает отличное объяснение того, как работает такое преобразование, включая то, что можно и чего нельзя. Так что это является - идеально подходящий ответ на вопрос «Как сделать». Просто нет смысла все переписывать.

Jeff 04.11.2018 20:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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 и хотите разрабатывать...
0
6
27
0

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