如何编码字符串中的所有字符

时间:2011-05-18 13:57:44

标签: php encoding

如何编码字符串中的所有字符。

示例: A =%32 //或类似的东西
B =%33

我想这样做而不用硬编码每个字符。我也希望能够再次解码它。 有这个PHP功能吗?

感谢。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果真的想要这样做,你可以很容易地使用preg_replace_callback

echo preg_replace_callback('/./', function($char) {
    return '%' . ord($char[0]);
}, 'this is probably an unnecessary step');
// %116%104%105%115%32%105%115%32%112%114%111%98%97%98%108%121%32%97%110%32%117%110%110%101%99%101%115%115%97%114%121%32%115%116%101%112

您可以使用chr

反转它
echo preg_replace_callback('/%[^%]*/', function($seq) {
    return chr(substr($seq[0], 1));
}, '%116%104%105%115');
// this

但是,无论你做什么,这几乎肯定是不必要的......

请参阅:

答案 2 :(得分:0)

难道你不是指ord()和chr()吗?