1

我有这个编码的字符串

hhNa0fUcOc3k0jUhPcRBJshpiXLpUSug+NhgPk89O7eSjerHk6go360U9rl8LazZo6DR6M1N4IqG0PYIwPyKhQ==

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

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

$code前面给出的那个。我似乎找不到为什么它没有用我想要的字符替换指定字符的问题。

4

1 回答 1

2

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

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

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

于 2013-05-13T12:37:38.497 回答