私は学校のための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に戻ってください。お手伝いします。 –
*「最初にデコーダに入れられた文字をそれぞれ配列に入れて別々にデコードし、最後に一緒に戻す必要があると思う」*これは完璧なアプローチのように聞こえる。これを試したときに何が失敗したのですか? –