Lets say I have some code:
$text = $_POST['secret'];
$replaces = array(
'a' => 's',
'b' => 'n',
'c' => 'v',
'd' => 'f',
'e' => 'r',
'f' => 'g',
'g' => 'h',
'h' => 'j',
'i' => 'o',
'j' => 'k',
'k' => 'l',
'l' => 'a',
'm' => 'z',
'n' => 'm',
'o' => 'p',
'p' => 'q',
'q' => 'w',
'r' => 't',
's' => 'd',
't' => 'y',
'u' => 'i',
'v' => 'b',
'w' => 'e',
'x' => 'c',
'y' => 'u',
'z' => 'x',
);
$text = str_replace(array_keys($replaces),array_values($replaces),$text);
echo "You're deciphered message is: ".$text;
}
?>
<form action="" method="post">
<p>Enter the secret message: <input name="secret" type="text"/></p>
<input class="button" type="submit" name="submit" value="Submit"/>
</form
Here, a user inputs a secret message, and then the characters are replaced by new characters. For every letter on a keyboard it is replaced with the letter to the right.
eg. if a user enters "gwkki" the output will be "hello".
However the above code outputs aeaae and NOT hello. It outputs "aeaae". This is because the letter h changes to j, then j changes to k, then k changes l, then l changes to a. and so on with the other letters. Is there any way for the text to be scanned and changed once??
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…