Avatar
Štefan Pružinský:

Dobrý deň,
mám problém z prevodom latinky na azbuku.

 <script language="Javascript" src="http://script.pravoslavie.ru/icon.php?advanced=1"></script>

 <?php
/** Převod azbuky na latinku podle GOST 16876-71
* @param string text v azbuce
* @return string text v latince
* @copyright Jakub Vrána, http://php.vrana.cz/
*/
function azbuka_latinka($s) {
    return strtr($s, array(
         'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'jo', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'jj', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'eh', 'ю' => 'ju', 'я' => 'ja',
        'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'JO', 'Ж' => 'ZH', 'З' => 'Z', 'И' => 'I', 'Й' => 'JJ', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'KH', 'Ц' => 'C', 'Ч' => 'CH', 'Ш' => 'SH', 'Щ' => 'SHH', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'EH', 'Ю' => 'JU', 'Я' => 'JA',
));
}
echo azbuka_latinka('<script language="Javascript">print_podpis(); </script>');
?>

Problém je v tom, že mi to nezoberie ani čistú azbuku - napr. pre мария to dá JAJAJAJAJA.Vopred ďakujem za odpoveď.

Odpovědět 26.12.2014 19:51
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Fredep
Redaktor
Avatar
Odpovídá na Štefan Pružinský
Fredep:

Mi to funguje dobře. Proč chceš přeložit z ruštiny kus HTML kódu?
Vyzkoušej toto:

<?php
    echo azbuka_latinka('мария');
?>
Nahoru Odpovědět 26.12.2014 20:03
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Odpovídá na Fredep
Štefan Pružinský:

Pozri napr. tu: http://arbs.kx.cz/ , je to ten istý kód a vypíše to JAJAJAJAJA. Ten skript(<script language="Javas­cript">print_pod­pis(); </script>) má vyhodiť ruský text.

Editováno 26.12.2014 20:17
Nahoru Odpovědět 26.12.2014 20:15
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

a prečo sem posielaš toto ako parameter tej funkcie ?

azbuka_latinka('<script language="Javascript">print_podpis(); </script>');
 
Nahoru Odpovědět 26.12.2014 20:35
Avatar
Odpovídá na Ori
Štefan Pružinský:

Môžeš mi to prosím bližšie vysvetliť?

Nahoru Odpovědět 26.12.2014 20:37
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Štefan Pružinský
BlugW:

Ta funkce ti mění parameter z azbuky na latinku.
Ty tam strkáš javascript(kód) který je v latince, takže ti ho ta funkce nemůže přeložit.

Editováno 26.12.2014 20:49
Nahoru Odpovědět 26.12.2014 20:48
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

no popíš nám skorej ty čoho chceš dosiahnuť lebo tvojmu kódu hore nerozumiem uplne, a už vôbec ako si mohol dostať to JAJAJAJAJAJA z toho čo je v prvom poste

 
Nahoru Odpovědět 26.12.2014 20:50
Avatar
Odpovídá na BlugW
Štefan Pružinský:

existuje potom nejaký zpôsob ako tam dať ten js, už v textovej podobe? Mimochodom, to nefunguje ani pre normálny text.

Nahoru Odpovědět 26.12.2014 20:51
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na BlugW
Ori:

stále to ale nevypíše JAJAJAJAJAJA :D t fakt neviem z kade tam nabral :D

 
Nahoru Odpovědět 26.12.2014 20:51
Avatar
Odpovídá na Ori
Štefan Pružinský:

Potrebujem text v azbuke previesť na latinku. Ten text(mení sa každý deň) ťahám z inej stránky.

Nahoru Odpovědět 26.12.2014 20:52
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

no prepísať funkciu do JS a volať to tam

 
Nahoru Odpovědět 26.12.2014 20:54
Avatar
Nahoru Odpovědět 26.12.2014 20:55
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Nahoru Odpovědět 26.12.2014 20:56
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Fredep
Redaktor
Avatar
Odpovídá na Štefan Pružinský
Fredep:

K tomu tvému kódu, špatně chápeš rozdíl mezi PHP a JS. Musíš si uvědomit, že PHP se zpracuje na serveru, odešle data klientovi, a až poté se spustí JS u klienta... Nemůžeš jen tak jednoduše JS funkci používat v PHP...

Nahoru Odpovědět 26.12.2014 21:28
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Štefan Pružinský
BlugW:

Nějak takhle v js:

function transliterate(word){
    var answer = ""
        , a = {};

    a["Ё"]="YO";a["Й"]="I";a["Ц"]="TS";a["У"]="U";a["К"]="K";a["Е"]="E";a["Н"]="N";a["Г"]="G";a["Ш"]="SH";a["Щ"]="SCH";a["З"]="Z";a["Х"]="H";a["Ъ"]="'";
    a["ё"]="yo";a["й"]="i";a["ц"]="ts";a["у"]="u";a["к"]="k";a["е"]="e";a["н"]="n";a["г"]="g";a["ш"]="sh";a["щ"]="sch";a["з"]="z";a["х"]="h";a["ъ"]="'";
    a["Ф"]="F";a["Ы"]="I";a["В"]="V";a["А"]="a";a["П"]="P";a["Р"]="R";a["О"]="O";a["Л"]="L";a["Д"]="D";a["Ж"]="ZH";a["Э"]="E";
    a["ф"]="f";a["ы"]="i";a["в"]="v";a["а"]="a";a["п"]="p";a["р"]="r";a["о"]="o";a["л"]="l";a["д"]="d";a["ж"]="zh";a["э"]="e";
    a["Я"]="Ya";a["Ч"]="CH";a["С"]="S";a["М"]="M";a["И"]="I";a["Т"]="T";a["Ь"]="'";a["Б"]="B";a["Ю"]="YU";
    a["я"]="ya";a["ч"]="ch";a["с"]="s";a["м"]="m";a["и"]="i";a["т"]="t";a["ь"]="'";a["б"]="b";a["ю"]="yu";

    for (i in word){
        if (word.hasOwnProperty(i)) {
            if (a[word[i]] === undefined){
                answer += word[i];
            } else {
                answer += a[word[i]];
            }
        }
    }
    return answer;
}
alert(transliterate("цшгукшгцун"));

Nějak takhle v PHP:

function ru2en($st)
{
    $arr = array(
        'А' => 'A',
        'Б' => 'B',
        'В' => 'V',
        'Г' => 'G',
        'Д' => 'D',
        'Е' => 'E',
        'Ё' => 'JO',
        'Ж' => 'ZH',
        'З' => 'Z',
        'И' => 'I',
        'Й' => 'JJ',
        'К' => 'K',
        'Л' => 'L',
        'М' => 'M',
        'Н' => 'N',
        'О' => 'O',
        'П' => 'P',
        'Р' => 'R',
        'С' => 'S',
        'Т' => 'T',
        'У' => 'U',
        'Ф' => 'F',
        'Х' => 'KH',
        'Ц' => 'C',
        'Ч' => 'CH',
        'Ш' => 'SH',
        'Щ' => 'SHH',
        'Ъ' => '',
        'Ы' => 'Y',
        'Ь' => '',
        'Э' => 'EH',
        'Ю' => 'JU',
        'Я' => 'JA',
        'а' => 'a',
        'б' => 'b',
        'в' => 'v',
        'г' => 'g',
        'д' => 'd',
        'е' => 'e',
        'ё' => 'jo',
        'ж' => 'zh',
        'з' => 'z',
        'и' => 'i',
        'й' => 'jj',
        'к' => 'k',
        'л' => 'l',
        'м' => 'm',
        'н' => 'n',
        'о' => 'o',
        'п' => 'p',
        'р' => 'r',
        'с' => 's',
        'т' => 't',
        'у' => 'u',
        'ф' => 'f',
        'х' => 'kh',
        'ц' => 'c',
        'ч' => 'ch',
        'ш' => 'sh',
        'щ' => 'shh',
        'ъ' => '',
        'ы' => 'y',
        'ь' => '',
        'э' => 'eh',
        'ю' => 'ju',
        'я' => 'ja'
    );
    $key = array_keys($arr);
    $val = array_values($arr);
    $transl = str_replace($key,$val,$st );
    return htmlspecialchars($transl);
}

echo(ru2en('шгнцшкгнцу'));
Nahoru Odpovědět  +1 26.12.2014 21:30
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <title></title>
        </head>
  <body>
<?php
$string = file_get_contents('http://script.pravoslavie.ru/icon.php?advanced=1',FILE_TEXT);
//echo mb_detect_encoding($string);
//echo mb_convert_encoding($string, 'cp1251');
echo $string;
preg_match('#daysi\.write\(\"(.*)\"\)#', $string, $matches);

/** Převod azbuky na latinku podle GOST 16876-71
* @param string text v azbuce
* @return string text v latince
* @copyright Jakub Vrána, http://php.vrana.cz/
*/
function azbuka_latinka($s) {
   return strtr($s, array(
        'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'jo', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'jj', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'eh', 'ю' => 'ju', 'я' => 'ja',
       'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'JO', 'Ж' => 'ZH', 'З' => 'Z', 'И' => 'I', 'Й' => 'JJ', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'KH', 'Ц' => 'C', 'Ч' => 'CH', 'Ш' => 'SH', 'Щ' => 'SHH', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'EH', 'Ю' => 'JU', 'Я' => 'JA',
));
}
echo azbuka_latinka(mb_convert_encoding($matches[1], 'utf-8', 'cp1251'));
?>
  </body>
</html>

strašný overkill, prestane to fungovať ako náhle oni zmenia kód toho javascriptu ale teraz to funguje

 
Nahoru Odpovědět 26.12.2014 21:32
Avatar
Odpovídá na BlugW
Štefan Pružinský:

Problém je v tom, že mne stále vypíše všetky písmená ako posledné z poľa viď.:
https://www.dropbox.com/…21.39.48.png?dl=0

Nahoru Odpovědět 26.12.2014 21:41
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Štefan Pružinský
IT Man:

A co použít str_replace?

Nahoru Odpovědět 26.12.2014 21:48
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

nejde ti jedno riešenie použi druhé. Každopádne robíš nejakú chybu pretože nech skúšam ktorékoľvek riešenie funguje

 
Nahoru Odpovědět 26.12.2014 21:48
Avatar
Odpovídá na Ori
Štefan Pružinský:

Tvoj zase hodí takto: Мученик Евстраѭ‚РёР№.
BlugW Zkúšal som to v Try it (http://www.w3schools.com/jsref/tryit.asp?… - dal som tam tvoj kód), a ono to vypísalo znaky v celkom spracovatelnej forme (цшгукшгцун), v prehliadači to však stále nejde.

Nahoru Odpovědět 26.12.2014 21:49
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

pozri, môj kód nemá nič s javascriptom, tak prečo to skúšaš v js prekladači. Proste to skopíruj, ulož ako nový subor.php (alebo ako len chceš) nahraj to na server a spusti to. Proste ti to fungovať musí.

 
Nahoru Odpovědět 26.12.2014 21:54
Avatar
Odpovídá na Ori
Štefan Pružinský:

v try it-e som zkúšal Bogdanov kód, nie tvoj. Prosím, pozrite sa na www.arbs.kx.cz ako to vypíše Vám (je tam Bogdanové js riešenie), mne to vypíše: yuyuyuyuyuyuy­uyuyuyu.

Editováno 26.12.2014 21:57
Nahoru Odpovědět 26.12.2014 21:57
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

skús zmeniť kódovanie na windows-1251 alebo 1252

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

ak nepomôže použi to moje riešenie a máš po probléme

Editováno 26.12.2014 22:03
 
Nahoru Odpovědět 26.12.2014 22:00
Avatar
Odpovídá na Ori
Štefan Pružinský:

Zmenil som, ale stále nič. Mimochodom, ako to zobrazuje tebe?

Nahoru Odpovědět 26.12.2014 22:04
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

taktiež zle, pretože ty máš chybu v php kóde, pokiaľ nám nedáš celý novo upravený kód tak ti neporadíme, každopádne stále ta úplne nechápem prečo to nedáš na moje riešenie

Editováno 26.12.2014 22:11
 
Nahoru Odpovědět  +1 26.12.2014 22:11
Avatar
Odpovídá na Ori
Štefan Pružinský:

Dobre, vysvetlím Vám to polopatisticky. Práve dokončujem stránku (www.pravoslaviesnv.sk). Na pravej strane je mini kalendár so sv. obrazom a pod ním popis. Ja potrebujem, aby sa po nájdení myši na obrazok (onmouseover), zobrazil popis (title), ktorý je dostupný v azbuke, a ktorý chcem previesť do latinky(momentálne je tam len "Ikona dňa" ). Ten popisok sa podľa návodu (http://days.pravoslavie.ru/script/icon.htm) zobrazuje pomocou týchto dvoch príkazov:

<script language="Javascript" src="http://script.pravoslavie.ru/icon.php?advanced=1"></script>
<script language="Javascript">print_podpis(); </script>

Celý kód kalendára (ešte bez transliterácie - tú skúšam na doméne arbs.kx.cz) tu:

<style>
    #st {
        text-align: center;
    }
    button {
        float: right; padding: 3px 10px; margin-top: 5px; cursor: pointer;
        position: relative; left: -70px;
        font-family: inherit; font-style: italic; font-size: 11px; color: #777;
        background: #fff; border: 1px solid; border-color: #fff #ddd #ddd #fff;
        border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
    }

    #reference img {
        border: 1px solid gray;
        padding: 4px;
        box-shadow: 3px 3px 6px #999999;
        margin-right: 6px;
    }

  </style>




<script>
function getElements()
  {
  $("div#reference div a").attr("title","Vec");

  }
</script>

  <script language="Javascript">
        var d=new Date();
        var to=-4-d.getTimezoneOffset()/60;
        document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0&advanced=1&dayicon=1"><\/script>');
  </script>

    <div id="reference" style="text-align:center" >
<div onmouseover="getElements()">
    <script language="Javascript">print_icon(); </script>
    </div>
 </div>


    <div style="text-align:center; font-style: italic">
    <script>
    var datum = new Date(); // aktuální datum
    var denVTydnu = new Array("nedeľa","pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota");
    var retezec = "Dnes je "; // postupně se k němu budou přičítat další řetězce
    retezec += denVTydnu[datum.getDay()] + ", "; // Den v týdnu
    retezec += datum.getDate() + ". "; // Den v měsíci
    retezec += (1 + datum.getMonth()) + ". "; // Měsíce jsou číslovány od nuly
    retezec += datum.getFullYear() + ". "; // Rok ve formátu 0000
    // retezec += "Čas: " + datum.getHours() + ":"; // Hodiny
    // retezec += datum.getMinutes(); // Minuty
    // retezec += ":" + datum.getSeconds(); // Sekundy
    retezec += ""; // Tečka za větou
    document.write( retezec ); // Výpis řetězce do dokumentu
    </script>

    <script>
    promenna=new Date();
    promenna.setTime(promenna.getTime() - 13 *24*60*60*1000)
    mesic = promenna.getMonth() + 1;//leden je 0
    denVMesici = promenna.getDate();
    document.write("(Starý štýl: " + denVMesici + ". " + mesic + ".)");
    </script>
    </div>

<!-- --------------------------Slovenský------------------------------- -->

<?php
$text = file_get_contents('http://arbs.kx.cz/kal_stary.php');

$text = iconv("Windows-1250","UTF-8",$text);
echo $text;

?>

<!-- -------------------------Spoiler(Ruský)---------------------------- -->



<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js"></script> <!-- https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js - sa bije s simple lightbox -->
<div id="st">
<button>Podrobnejší kalendár</button>
<br><br>
<div id="spoil" style="display:none">
        <script language="Javascript">
        var d=new Date();
        var to=-4-d.getTimezoneOffset()/60;
        document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
        </script>
</div>
</div>
<script>
$( "button" ).click(function() {
$( "#spoil" ).slideToggle( "slow" );
}); //alebo fade alebo slide
</script>
Nahoru Odpovědět 26.12.2014 22:23
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Štefan Pružinský:

Na stránke kde to skúšam je kód:

<html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <title></title>
        </head>
   <body>
<script language="Javascript" src="http://script.pravoslavie.ru/icon.php?advanced=1"></script>
 <?php
 $string = file_get_contents('http://script.pravoslavie.ru/icon.php?advanced=1',FILE_TEXT);
 //echo mb_detect_encoding($string);
 //echo mb_convert_encoding($string, 'cp1251');
 echo $string;
 preg_match('#daysi\.write\(\"(.*)\"\)#', $string, $matches);

 /** Převod azbuky na latinku podle GOST 16876-71
 * @param string text v azbuce
 * @return string text v latince
 * @copyright Jakub Vrána, http://php.vrana.cz/
 */
 function azbuka_latinka($s) {
    return strtr($s, array(
         '?' => 'a', '?' => 'b', '?' => 'v', '?' => 'g', '?' => 'd', '?' => 'e', '?' => 'jo', '?' => 'zh', '?' => 'z', '?' => 'i', '?' => 'jj', '?' => 'k', '?' => 'l', '?' => 'm', '?' => 'n', '?' => 'o', '?' => 'p', '?' => 'r', '?' => 's', '?' => 't', '?' => 'u', '?' => 'f', '?' => 'kh', '?' => 'c', '?' => 'ch', '?' => 'sh', '?' => 'shh', '?' => '', '?' => 'y', '?' => '', '?' => 'eh', '?' => 'ju', '?' => 'ja',
        '?' => 'A', '?' => 'B', '?' => 'V', '?' => 'G', '?' => 'D', '?' => 'E', '?' => 'JO', '?' => 'ZH', '?' => 'Z', '?' => 'I', '?' => 'JJ', '?' => 'K', '?' => 'L', '?' => 'M', '?' => 'N', '?' => 'O', '?' => 'P', '?' => 'R', '?' => 'S', '?' => 'T', '?' => 'U', '?' => 'F', '?' => 'KH', '?' => 'C', '?' => 'CH', '?' => 'SH', '?' => 'SHH', '?' => '', '?' => 'Y', '?' => '', '?' => 'EH', '?' => 'JU', '?' => 'JA',
 ));
 }
 echo azbuka_latinka(mb_convert_encoding($matches[1], 'utf-8', 'cp1251'));
 ?>
   </body>
 </html>
Nahoru Odpovědět 26.12.2014 22:27
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

to ti ani nepôjde v tomto kontexte použiť, to bolo všeobecné riešenie. Musel som oprášiť trochu svoje znalosti bulharčiny, hoci ruštinou nemá moc spoločného ale aj tak :D ... tu máš riešenie, odporúčam si danú "dokumentáciu" prečítať poriadne.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title></title>
      <script type="text/javascript">

    function transliterate(word){
            var answer = ""
                    , a = {};

    a["Ё"]="YO";a["Й"]="I";a["Ц"]="TS";a["У"]="U";a["К"]="K";a["Е"]="E";a["Н"]="N";a["Г"]="G";a["Ш"]="SH";a["Щ"]="SCH";a["З"]="Z";a["Х"]="H";a["Ъ"]="'";
a["ё"]="yo";a["й"]="i";a["ц"]="ts";a["у"]="u";a["к"]="k";a["е"]="e";a["н"]="n";a["г"]="g";a["ш"]="sh";a["щ"]="sch";a["з"]="z";a["х"]="h";a["ъ"]="'";
a["Ф"]="F";a["Ы"]="I";a["В"]="V";a["А"]="a";a["П"]="P";a["Р"]="R";a["О"]="O";a["Л"]="L";a["Д"]="D";a["Ж"]="ZH";a["Э"]="E";
a["ф"]="f";a["ы"]="i";a["в"]="v";a["а"]="a";a["п"]="p";a["р"]="r";a["о"]="o";a["л"]="l";a["д"]="d";a["ж"]="zh";a["э"]="e";
a["Я"]="Ya";a["Ч"]="CH";a["С"]="S";a["М"]="M";a["И"]="I";a["Т"]="T";a["Ь"]="'";a["Б"]="B";a["Ю"]="YU";
a["я"]="ya";a["ч"]="ch";a["с"]="s";a["м"]="m";a["и"]="i";a["т"]="t";a["ь"]="'";a["б"]="b";a["ю"]="yu";

            for (i in word){
                    if (word.hasOwnProperty(i)) {
                            if (a[word[i]] === undefined){
                                    answer += word[i];
                            } else {
                                    answer += a[word[i]];
                            }
                    }

                    console.log(i);
                    console.log(word[i]);
                    console.log(a[word[i]]);
            }
            return answer;
    }

            function dayiconloaded(){
                    console.log(dayicon);
                    alert(transliterate(dayicon.text));
            }
      </script>
      <script type="text/javascript" src="http://script.pravoslavie.ru/icon.php?advanced=2"></script>
      </head>
      <body>
      </body>
    </html>

PS: ak ti to nepôjde musíš sa pohrať s kódovaním súboru, vnútorným, nie tým čo sa píše do HTML
PSS: zakomentuj si potom tie consol logy a podobne

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 26.12.2014 23:08
Avatar
Odpovídá na Ori
Štefan Pružinský:

Veľmi pekne ďakujem za pomoc, a za tvoju ochotu. Tvoje riešenie funguje (prejdi myšou na obrázok, zobrazí sa popisok, www.pravoslaviesnv.sk). Prikladám trochu upravený kód celého kalendára

 <style>
    #st {
        text-align: center;
    }
    button {
        float: right; padding: 3px 10px; margin-top: 5px; cursor: pointer;
        position: relative; left: -70px;
        font-family: inherit; font-style: italic; font-size: 11px; color: #777;
        background: #fff; border: 1px solid; border-color: #fff #ddd #ddd #fff;
        border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
    }

    #reference img {
        border: 1px solid gray;
        padding: 4px;
        box-shadow: 3px 3px 6px #999999;
        margin-right: 6px;
    }


  </style>

<!-- ----------------------------------popisok transliterate-------------------------- -->

    <script type="text/javascript">

function transliterate(word){
        var answer = ""
                , a = {};

a["Ё"]="Jo";a["Й"]="J";a["Ц"]="C";a["У"]="U";a["К"]="K";a["Е"]="E";a["Н"]="N";a["Г"]="G";a["Ш"]="Š";a["Щ"]="ŠČ";a["З"]="Z";a["Х"]="Ch";a["Ъ"]="'";
a["ё"]="jo";a["й"]="j";a["ц"]="c";a["у"]="u";a["к"]="k";a["е"]="e";a["н"]="n";a["г"]="g";a["ш"]="š";a["щ"]="šč";a["з"]="z";a["х"]="ch";a["ъ"]="'";
a["Ф"]="F";a["Ы"]="I";a["В"]="V";a["А"]="a";a["П"]="P";a["Р"]="R";a["О"]="O";a["Л"]="L";a["Д"]="D";a["Ж"]="Ž";a["Э"]="E";
a["ф"]="f";a["ы"]="i";a["в"]="v";a["а"]="a";a["п"]="p";a["р"]="r";a["о"]="o";a["л"]="l";a["д"]="d";a["ж"]="ž";a["э"]="e";
a["Я"]="Ja";a["Ч"]="Č";a["С"]="S";a["М"]="M";a["И"]="I";a["Т"]="T";a["Ь"]="'";a["Б"]="B";a["Ю"]="Ju";
a["я"]="ja";a["ч"]="č";a["с"]="s";a["м"]="m";a["и"]="i";a["т"]="t";a["ь"]="'";a["б"]="b";a["ю"]="ju";
a["Дь"]="Ď";a["Ль"]="Ľ";a["Нь"]="Ň";a["Ть"]="Ť";
a["дь"]="ď";a["ль"]="ľ";a["нь"]="ň";a["ть"]="ť";

        for (i in word){
                if (word.hasOwnProperty(i)) {
                        if (a[word[i]] === undefined){
                                answer += word[i];
                        } else {
                                answer += a[word[i]];
                        }
                }

                console.log(i);
                console.log(word[i]);
                console.log(a[word[i]]);
        }
        return answer;
}

        function dayiconloaded(){
                console.log(dayicon);
                //alert(transliterate(dayicon.text));
        }
  </script>
  <script type="text/javascript" src="http://script.pravoslavie.ru/icon.php?advanced=2"></script>


<script>
function getElements()
  {
  $("div#reference div a").attr("title", transliterate(dayicon.text));

  }
</script>

<!-- -----------------------koniec popisku---------------------- -->

  <script language="Javascript">
        var d=new Date();
        var to=-4-d.getTimezoneOffset()/60;
        document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0&advanced=1&dayicon=1"><\/script>');
  </script>

    <div id="reference" style="text-align:center" >
<div onmouseover="getElements()">
    <script language="Javascript">print_icon(); </script>
    </div>
 </div>


    <div style="text-align:center; font-style: italic">
    <script>
    var datum = new Date(); // aktuální datum
    var denVTydnu = new Array("nedeľa","pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota");
    var retezec = "Dnes je "; // postupně se k němu budou přičítat další řetězce
    retezec += denVTydnu[datum.getDay()] + ", "; // Den v týdnu
    retezec += datum.getDate() + ". "; // Den v měsíci
    retezec += (1 + datum.getMonth()) + ". "; // Měsíce jsou číslovány od nuly
    retezec += datum.getFullYear() + ". "; // Rok ve formátu 0000
    // retezec += "Čas: " + datum.getHours() + ":"; // Hodiny
    // retezec += datum.getMinutes(); // Minuty
    // retezec += ":" + datum.getSeconds(); // Sekundy
    retezec += ""; // Tečka za větou
    document.write( retezec ); // Výpis řetězce do dokumentu
    </script>

    <script>
    promenna=new Date();
    promenna.setTime(promenna.getTime() - 13 *24*60*60*1000)
    mesic = promenna.getMonth() + 1;//leden je 0
    denVMesici = promenna.getDate();
    document.write("(Starý štýl: " + denVMesici + ". " + mesic + ".)");
    </script>
    </div>

<!-- --------------------------Slovenský------------------------------- -->

<?php
$text = file_get_contents('http://arbs.kx.cz/kal_stary.php');

$text = iconv("Windows-1250","UTF-8",$text);
echo $text;

?>

<!-- -------------------------Spoiler(Ruský)---------------------------- -->



<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.min.js"></script> <!-- https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js - sa bije s simple lightbox -->
<div id="st">
<button>Podrobnejší kalendár</button>
<br><br>
<div id="spoil" style="display:none">
        <script language="Javascript">
        var d=new Date();
        var to=-4-d.getTimezoneOffset()/60;
        document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
        </script>
</div>
</div>
<script>
$( "button" ).click(function() {
$( "#spoil" ).slideToggle( "slow" );
}); //alebo fade alebo slide
</script>

Ešte raz veľmi pekne ďakujem. Š.P

Nahoru Odpovědět 27.12.2014 9:49
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Ori
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori:

som rád že to pomohlo, oni to tam v dokumentácii mali kus divne popísané terebalo http://script.pravoslavie.ru/icon.php?… zmeniť na http://script.pravoslavie.ru/icon.php?… a potom to už vracalo pekne objekt(strašne blbé riešenie celého toho majú)

ešte si zakomentuj tie console.log()

 
Nahoru Odpovědět  +1 27.12.2014 13:49
Avatar
Nahoru Odpovědět 27.12.2014 14:25
Najefektívnejším spôsobom debuggingu je modlitba. :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 31 zpráv z 31.