WP-lightbox Не рекомендуется: preg_replace(): модификатор /e устарел, вместо него используйте preg_replace_callback
Мой плагин wp-lightbox evolution показывает мне ошибку
Устаревшее: preg_replace(): модификатор /e устарел, вместо него используйте preg_replace_callback
И когда я заменяю это preg_replace_callback
Я получаю сообщение об ошибке:
Предупреждение: preg_replace_callback(): Требуется, чтобы аргумент 2, 'stripslashes(strstr("\1\3", "class=")? "\0": "")', был действительным обратным вызовом
Любая помощь будет оценена.
С уважением
1 ответ
preg_replace
с /e
Модификатор, используемый для принятия кода PHP в виде строки.
preg_replace_callback
принимает вызываемого. Функция, которая preg_replace_callback
должен принять массив совпадений и вернуть строку, которая будет использоваться в качестве замены.
Если вы не используете этот код где-либо еще, имеет смысл использовать анонимную функцию, например так:
preg_replace_callback(YOUR_PATTERN_HERE, function ($matches) {
return stripslashes(
strstr($matches[1] . $matches[3], "class=")
? $matches[0]
: "");
}, YOUR_STRING_TO_BE_CHANGED_HERE);
См. Вопрос Замените preg_replace() e модификатор preg_replace_callback для получения дополнительной информации.