$regular = explode(',', "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z");
$custom = explode(',', "y,p,l,t,a,v,k,r,e,z,g,m,s,h,u,b,x,n,c,d,i,j,f,q,o,w");
$albhed1 = str_replace($regular, $custom, $input);?><div id="hi"><?php
if($_POST['albhed']){echo $albhed1;}{}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当用户单击发送时,该字母不代表应有的含义。因此,如果键入a,则应显示y,如果键入c,则应显示l。奇怪的是,它适用于字母u,v,w,x,y,z,即i,j,f,q,o,w,但其余部分不起作用。
$ input正在定义:
<textarea name="textarea" id="textarea">
</textarea>
Run Code Online (Sandbox Code Playgroud)
有没有人有什么建议?
您的代码无法正常工作,原因$res = str_replace(array("x", "y"), array("y", "b"), $input)
如下:
$res = str_replace("x", "y", $input);
$res = str_replace("y", "b", $input);
Run Code Online (Sandbox Code Playgroud)
认为它的意思xyz
变成bbb
是因为:
xyz
转换为 yyz
yyz
翻译成 bbz
您最好使用来翻译字符strtr
:
$regular = "abcdefghijklmnopqrstuvwxyz";
$custom = "ypltavkrezgmshubxncdijfqow";
$albhed1 = strtr($input, $regular, $custom);
Run Code Online (Sandbox Code Playgroud)