gpt4 book ai didi

php - 如何用不会更新的新字母替换字符串中的字母

转载 作者:行者123 更新时间:2023-12-04 21:49:35 30 4
gpt4 key购买 nike

假设我有一些代码:

$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

在这里,用户输入一条 secret 消息,然后字符被新字符替换。对于键盘上的每个字母,它都会被右边的字母替换。

例如。如果用户输入“gwkki”,输出将是“hello”。但是上面的代码输出 aeaae 而不是 hello。它输出“aeaae”。这是因为字母 h 变为 j,然后 j 变为 k,然后 k 变为 l,然后 l 变为 a。以此类推其他字母。有没有办法让文本扫描一次改一次??

最佳答案

在 PHP 手册中,它清楚地解释了您的问题,在页面末尾,他们建议使用 strtr(),它完全符合您的要求。

替换

  $text = str_replace(array_keys($replaces),array_values($replaces),$text);

  $text = strtr($text,$replaces);

这完全符合您的要求,它将 一个 字符替换为 另一个 字符。

strtr() 的文档在这里:http://www.php.net/manual/en/function.strtr.php

关于php - 如何用不会更新的新字母替换字符串中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8604550/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com