Code Library
Home Submit Free Hosting Link To Us Contacts

PHP Morse Convertor Class

PHP Morse Convertor Class PHP PHP Morse Convertor Class Download (.zip)



<?php

//
// Morse Convertor v1.0 by Edwin Groothuis (edwin@mavetju.org)
//
// See LICENSE for distribution issues. If this file isn't in
// the distribution, please inform me about it.
//
// Feel free to use this yourself.
//

$lettertomorse=array();
$lettertomorse["a"]=".-";
$lettertomorse["b"]="-...";
$lettertomorse["c"]="-.-.";
$lettertomorse["d"]="-..";
$lettertomorse["e"]=".";
$lettertomorse["f"]="..-.";
$lettertomorse["g"]="--.";
$lettertomorse["h"]="....";
$lettertomorse["i"]="..";
$lettertomorse["j"]=".---";
$lettertomorse["k"]=".-.";
$lettertomorse["l"]=".-..";
$lettertomorse["m"]="--";
$lettertomorse["n"]="-.";
$lettertomorse["o"]="---";
$lettertomorse["p"]=".--.";
$lettertomorse["q"]="--.-";
$lettertomorse["r"]=".-.";
$lettertomorse["s"]="...";
$lettertomorse["t"]="-";
$lettertomorse["u"]="..-";
$lettertomorse["v"]="...-";
$lettertomorse["w"]=".--";
$lettertomorse["x"]="-..-";
$lettertomorse["y"]="-.--";
$lettertomorse["z"]="--..";
$lettertomorse["1"]=".----";
$lettertomorse["2"]="..---";
$lettertomorse["3"]="...--";
$lettertomorse["4"]="....-";
$lettertomorse["5"]=".....";
$lettertomorse["6"]="-....";
$lettertomorse["7"]="--...";
$lettertomorse["8"]="---..";
$lettertomorse["9"]="----.";
$lettertomorse["0"]="-----";
$lettertomorse[" "]=" ";
$lettertomorse["."]=".-.-.-";
$lettertomorse[","]="--..--";
$lettertomorse["EOM"]=".-.-.";

$morsetoletter=array();
reset($lettertomorse);
while (list($letter,$code)=each($lettertomorse)) {
        $morsetoletter[$code]=$letter;
}

function morse_encode($txt) {
        global $lettertomorse;

        $line="";
        for ($i=0;$i<strlen($txt);$i++) {
         $letter=substr($txt,$i,1);

         // ignore unknown characters
         if ($lettertomorse[$letter]=="") continue;

         $line.=$lettertomorse[$letter]." ";
        }
        return $line;
}

function morse_decode($string) {
        global $morsetoletter;

        $line="";
        $letters=array();
        $letters=explode(" ",$string);
        foreach ($letters as $letter) {
         // ignore unknown characters
         if ($letter=="") $line.=" ";
         if ($morsetoletter[$letter]=="") continue;

         $line.=$morsetoletter[$letter];
        }
        return $line;
}
?>

<h1>Morse transletter</h1>

<form method="post" action="<?php echo $PHP_SELF ?>">
Real life text: <input type="text" name="txt" value="<?php echo $txt?>" size=50>
<br>
Morse text: <input type="text" name="morse" value="<?php echo $morse?>" size=50>
<input type="submit" value="Convert">
<input type="reset">
<br>
<hr>

<?php

if ($morse!="") {
        echo morse_decode($morse),"<br>\n";
}

if ($txt!="") {
        echo morse_encode($txt),"<br>\n";
}

if ($txt!="") {
        echo "<hr>\n<pre>";

        $line1="";
        $line2="";

        for ($i=0;$i<strlen($txt);$i++) {
         $letter=substr($txt,$i,1);

         // ignore unknown characters
         if ($lettertomorse[$letter]=="") continue;

         $line1.=$lettertomorse[$letter]." ";
         $line2.=$letter;
         for ($j=0;$j<strlen($lettertomorse[$letter]);$j++)
                $line2.=" ";
         $size+=strlen($lettertomorse[$letter])+1;

         if ($size>70) {
                echo "$line1\n";
                echo "$line2\n";
                echo "\n";
                $line1="";
                $line2="";
                $size=0;
         }
        }

        echo "$line1\n";
        echo "$line2\n";
        echo "\n";
        echo "\n</pre>\n";
}
?>




  • PHPDirectory Size Calculator Class Morse Convertor Class Simple Template Class


PHP Morse Convertor Class