Greetings,
One way to do it:
Code:
<?php
$strings = array('This is an example of encoding strings', 'wrox.com', 'really basic encoding');
foreach($strings as $string)
{
echo 'String: ' . $string . '<br />';
echo 'Encoded: ' . do_encode($string) . '<br /><br />';
}
$string = do_encode($strings[0]);
echo '<br /><br />';
echo 'String: ' . $strings[0] . '<br />';
echo 'Encoded: ' . $string . '<br />';
echo 'Decoded: ' . do_encode($string, true) . '<br />';
/*
* Encode the passed string
* passing 'true' as the second parameter will decode and encoded string
*/
function do_encode($string, $decode = false)
{
$code = array();
if( !sizeof($code) )
{
$a = range('a', 'z');
$b = range('b', 'z');
$b[] = 'a';
if( !$decode )
{
$code = array_combine($a, $b);
}
else
{
$code = array_combine($b, $a);
}
unset($a, $b);
}
$return = '';
for($i = 0, $i_end = strlen($string); $i < $i_end; $i++)
{
if( array_key_exists(substr($string, $i, 1), $code) )
{
$return .= $code[substr($string, $i, 1)];
}
else
{
$return .= substr($string, $i, 1);
}
}
return $return;
}
?>