我在网页上工作,我有一些这样的文字:
的 AA,BB,CC,A1,B2,C3
我想要一些代码将单词(如AA)替换为保存在变量中的字符串,例如这是我的php变量:
<?php
$var1 = "A"; //For AA
$var2 = "B"; //For BB
$var3 = "C"; //For CC
$var4 = "1"; //For A1
$var5 = "2"; //For B2
$var6 = "3"; //For C3
?>
文字AA,BB,CC,A1,B2,B3将是这样的:
的 ABC123
我怎么能用PHP做到这一点?
总之,我需要一个解密算法,将AA,BB,CC,A1,B2,C3
的密文文本转换为ABC123
的计划文本。
答案 0 :(得分:3)
此处提供了带有示例加密目录的完整工作脚本。
<?php
$encript = array(
'a'=>'GG',
'b'=>'HH',
'c'=>'II',
'A'=>'DD',
'B'=>'EE',
'B'=>'FF',
'1'=>'AA',
'2'=>'BB',
'3'=>'CC');
function decrypt($str,$encript)
{
$decript = array_flip($encript);
$str_arr = explode(",",$str);
$dec = "";
foreach($str_arr as $val)
{
$dec .= $decript[strtoupper(trim($val))];
}
return $dec;
}
function encrypt($str,$encript)
{
$str_arr = str_split($str);
$dec = "";
foreach($str_arr as $val)
{
$dec .= $encript[trim($val)].",";
}
return $dec;
}
$cypher = "AA,BB,DD,CC,EE,FF,GG,HH";
$text = "Ab1Ca";
echo decrypt($cypher,$encript);
echo "<br/>";
echo encrypt($text,$encript);
?>
以下网址提供的工作:http://sugunan.net/demo/str1.php
答案 1 :(得分:2)
假设文本存储在$string
中,请尝试以下操作:
$vars = array(
'AA' => 'A',
'BB' => 'B',
'CC' => 'C',
'A1' => '1',
'B2' => '2',
'C3' => '3',
);
$string = str_replace(array_keys($vars), array_values($vars), $string);
还注意到PHP str_replace
上的文档警告:
替换订单问题
由于
str_replace()
从左到右替换,因此可能会替换为 多次替换时先前插入的值。也可以看看 the examples in this document
答案 2 :(得分:0)
试试这个
$str = 'AA,BB,CC,A1,B2,C3';
$arr = explode(',', $str);
$newStr = '';
foreach($arr as $val){
$newStr .= substr($val,1,1);
}
echo $newStr;
<强>输出强>
ABC123
答案 3 :(得分:0)
如果您不想更改字符串,请尝试使用
$count = 0;
while(true){
$var = "var".++$count;
if($$var){
$$var = ${$var}[1];
}
else break;
}