我正在爲學校製作一個php莫爾斯編碼器和解碼器。
我已經得到了編碼器的工作,但我不知道如何使解碼器工作。
下面的代碼是我的解碼器。
我試圖通過用代碼切換字母來使解碼器與我的編碼器相同。 這不起作用,因爲它會混淆莫爾斯字母併合並它們。
所以我認爲我必須首先獲取放在解碼器中的每個字母,然後將它們放入一個數組中,然後單獨對它們進行解碼,然後再將它們放在一起。
我試了一堆東西,但我真的不知道我在做什麼,我無法弄清楚。
我是新來的PHP,所以我儘量保持它儘可能簡單。
任何幫助表示讚賞!卡在php莫爾斯解碼器
<?php
$break = "<br>" ;
$Words = $_POST['morse2'];
//get the morse, seperate each letter and then decode and echo the outcome
$seperation = explode(" ", $Words);
var_dump($seperation) ;
echo $break ;
// foreach($seperation){
// str_replace("/ "," ",$seperation);
// }
$seperation = str_replace("/ "," ",$Words);
$seperation = str_replace(".- ","a",$Words);
$seperation = str_replace("-... ","b",$Words);
$seperation = str_replace("-.-. ","c",$Words);
$seperation = str_replace("-.. ","d",$Words);
$seperation = str_replace(". ","e",$Words);
$seperation = str_replace("..-. ","f",$Words);
$seperation = str_replace("--. ","g",$Words);
$seperation = str_replace(".... ","h",$Words);
$seperation = str_replace(".. ","i",$Words);
$seperation = str_replace(".--- ","j",$Words);
$seperation = str_replace("-.- ","k",$Words);
$seperation = str_replace(".-.. ","l",$Words);
$seperation = str_replace("-- ","m",$Words);
$seperation = str_replace("-. ","n",$Words);
$seperation = str_replace("--- ","o",$Words);
$seperation = str_replace(".--. ","p",$Words);
$seperation = str_replace(".-. ","r",$Words);
$seperation = str_replace("... ","s",$Words);
$seperation = str_replace("- ","t",$Words);
$seperation = str_replace("..- ","u",$Words);
$seperation = str_replace("...- ","v",$Words);
$seperation = str_replace("-.-- ","y",$Words);
$seperation = str_replace("--.. ","z",$Words);
$seperation = str_replace("--.- ","q",$Words);
$seperation = str_replace(".-- ","w",$Words);
$seperation = str_replace("-..- ","x",$Words);
$seperation = str_replace(".---- ","1",$Words);
$seperation = str_replace("..--- ","2",$Words);
$seperation = str_replace("...-- ","3",$Words);
$seperation = str_replace("....- ","4",$Words);
$seperation = str_replace("..... ","5",$Words);
$seperation = str_replace("-.... ","6",$Words);
$seperation = str_replace("--... ","7",$Words);
$seperation = str_replace("---.. ","8",$Words);
$seperation = str_replace("----. ","9",$Words);
$seperation = str_replace("----- ","0",$Words);
echo $seperation;
/*Here's a tiny piece of my encoder to show you how i did that
basically the same as the decoder, real simple.
$Words = $_POST['morse'];
$Words = str_replace(" ","/ ",$Words);
$Words = str_replace("a",".- ",$Words);
$Words = str_replace("b","-... ",$Words);
$Words = str_replace("c","-.-. ",$Words);
echo $Words;
/*
?>
這是一個有趣的項目。你在'$ _POST ['morse2']'中傳遞了什麼? – bowl0stu
有太多可能的答案,或者對於這種格式,答案太長。請添加詳細信息以縮小答案集或隔離可以用幾個段落回答的問題。我建議你找一個開發論壇(也許[Quora](http://www.quora.com/Computer-Programming?))來解決一般問題。然後,如果您有特定的編碼問題,請回到Stack Overflow,我們很樂意提供幫助。 –
*「所以我想我必須首先獲得放在解碼器中的每個字母,將它們放入一個數組中,然後單獨對它們進行解碼,然後將它們放在一起。」*這聽起來像是完美的方法。當你嘗試這個時失敗了? –