preg_replace()在CI中对编码字符串执行


preg_replace() on encoded string in CI

我有这个编码字符串

hhNa0fUcOc3k0jUhPcRBJshpiXLpUSug + NhgPk89O7eSjerHk6go360U9rl8LazZo6DR6M1N4IqG0PYIwPyKhQ = =

和我使用preg_replace()替换所有的+,/,= on字符串与$,但结果与上面一样,编码的字符串不能很好地解析。基本上,出于某些安全目的,我只想更改该字符串中的所有+=/字符。以下是我所做的,下面是我的代码片段:

echo $code.'<br/>';
echo preg_replace('/'+'='//', '$', $code);

其中$code为前面给出的。我似乎找不到问题,为什么它不替换指定的字符与我想要的

您需要将3个字符放在交替(|)组中。

preg_replace('/'+|'=|''//', '$', $code);
→ string(88) "hhNa0fUcOc3k0jUhPcRBJshpiXLpUSug$NhgPk89O7eSjerHk6go360U9rl8LazZo6DR6M1N4IqG0PYIwPyKhQ$$"

当前代码将匹配序列+=/,而不是单独匹配字符。