IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

PHP Morseovka Library

PHP knihovna pro překlad textu do morseovky a zpět

php

<?php
/**************************
 Použití:
 morse('text, který má být přeložen','"toMorse", pokud se má text překládat do morseovky, nebo "toText" pokud se má morseovka přeložit na text'); ->tato funkce zahrnuje celou tuto knihovnu, pomocí ní lze překládat morseovku do textu i obráceně.
 tedy např. morse("Nazdár!","toMorse");
 nebo       morse(".-/-.../-.-.","toText");
 **************************/
        mb_internal_encoding("UTF-8");
        /***************************
         Funkce pro překlad textu do morseovky
         ***************************/
        function strFormat($string) { //Funkce pro naformátování stringu do překladatelné podoby
            $slovnik=array(
                "á"=>"a",
                "č"=>"c",
                "ď"=>"d",
                "é"=>"e",
                "ě"=>"e",
                "í"=>"i",
                "ň"=>"n",
                "ó"=>"o",
                "ř"=>"r",
                "š"=>"s",
                "ť"=>"t",
                "ú"=>"u",
                "ů"=>"u",
                "ý"=>"y",
                "ž"=>"z",
                ","=>"",
                ";"=>"",
                ":"=>"",
                "!"=>"",
                "?"=>"",
                "–"=>"",
                "—"=>"",
                "-"=>"",
                "‐"=>"",
                "…"=>"",
                "„"=>"",
                "“"=>"",
                "‚"=>"",
                "‘"=>"",
                "»"=>"",
                "«"=>"",
                "’"=>"",
                "("=>"",
                ")"=>"",
                "["=>"",
                "]"=>"",
                "{"=>"",
                "}"=>"",
                "/"=>"",
                "\""=>"",
                "'"=>""
            );
            $a=strtr($string,$slovnik);
            return $a;
        }
        function textToMorse($input) { //funkce pro překlad naformátovaného textu
            $input=strtolower($input);
            $input=strFormat($input);
            $slovnik= array(" "=>"/",
                "."=>"//",
                "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"=>"--../"                
                );
            $output=strtr($input,$slovnik);
            return $output;
        }
        /***************************
        Funkce pro překlad morseovky do textu
         ***************************/
        function morseToText($input) {
            $output = "";
            $preslovnik= array("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"=>"--..");
            $slovnik=  array_flip($preslovnik);
            $pismena=explode("/",$input);
        for($i=0;$i<count($pismena)-1;$i++){
            if ($pismena[$i]==""&&$pismena[$i+1]==""){$output=$output.".";$i++;}else{
            if($pismena[$i]==""){$output=$output." ";}
            else{
            $output=$output.strtr($pismena[$i],$slovnik);}
            }
        }
        return $output;
        }
        /***************************
         konečná funkce pro překlad
         ***************************/
        function morse($text,$dir) {
        if($dir=="toMorse"){return textToMorse($text);}
        else if($dir=="toText"){$text=$text."/";return morseToText($text);}
        }
        ?>

Neformátovaný

Přidáno: 9.12.2013
Expirace: Neuvedeno

Aktivity