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