preg_replace с функцией шифрования

1

Я пытаюсь взять некоторые данные в строке и заменить ее на зашифрованную версию.

Здесь образец данных:

encrypted=1|5|a|6|4|9
encrypted=1|1|a|3|4|9
encrypted=5|5|a|6|6|9

Вот какой код выглядит сейчас -

preg_replace("^(encrypted)(=)(.*)^", 'encrypted='.$this->encrypt_decrypt('encrypt',"$3"), $data);

Я читал на preg_replace_callback, но я не уверен, что это ответ, учитывая, что я не могу вызывать $ this изнутри функции и не могу реплицировать функцию в обратный вызов, поскольку она чрезвычайно длинная (100+ строки).

  • 0
    Хорошо, пусть будет так. :)
Теги:

1 ответ

1

Решенный с использованием этого ответа Codeigniter preg_replace_callback

$that = $this;
$content = preg_replace_callback("^(encrypted)(=)(.*)^", function($matches) use ($that) {
return $that->encrypt_decrypt('encrypt',$matches[3]);
}, $data);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню