对CI中的编码字符串进行preg_replace()

时间:2013-05-13 12:34:40

标签: php string codeigniter

我有这个编码的字符串

hhNa0fUcOc3k0jUhPcRBJshpiXLpUSug + NhgPk89O7eSjerHk6go360U9rl8LazZo6DR6M1N4IqG0PYIwPyKhQ ==

我使用preg_replace()将所有+,/,= on字符串替换为$,但结果与上面相同,编码后的字符串未被很好地解析。基本上我想只是为了某些安全目的而更改该字符串中的所有+=/个字符。这是我做的,以下是我的代码片段:

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

其中$code之前给出的那个。我似乎无法找到问题,为什么它不能用我想要的那个替换指定的字符。

1 个答案:

答案 0 :(得分:2)

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

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

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