2011-05-18 68 views
1

如何編碼字符串中的所有字符。我如何編碼字符串中的所有字符

示例: A =%32 //或類似的東西
B = 33%

我想這樣做沒有硬編碼每炭。而且我也希望能夠再次解碼。 這是否有一個PHP函數?

謝謝。

+2

PHP有很多函數來加密字符串。選擇正確的取決於應用程序。你在加密名字,密碼,信用卡信息嗎?這是一個重要的考慮因素,因爲簡單的字符串加密對於敏感信息並不理想。 – walkingTarget 2011-05-18 14:06:27

回答

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 

然而,這是幾乎可以肯定不需要你做什麼...

參見:

+0

謝謝!非常感激! – Fredefl 2011-05-18 15:34:05