Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.

Diskuze: Prevod z azbuky do latinky

Aktivity
Avatar
Štefan Pružinský:26.12.2014 19:51

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
Odpovídá na Štefan Pružinský
Neaktivní uživatel:26.12.2014 20:03

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
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Štefan Pružinský:26.12.2014 20:15

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 20:35

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 I
Štefan Pružinský:26.12.2014 20:37

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
Odpovídá na Štefan Pružinský
Neaktivní uživatel:26.12.2014 20:48

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
Neaktivní uživatelský účet
Avatar
Ori I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 20:50

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 Neaktivní uživatel
Štefan Pružinský:26.12.2014 20:51

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 I
Člen
Avatar
Odpovídá na Neaktivní uživatel
Ori I:26.12.2014 20:51

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 I
Štefan Pružinský:26.12.2014 20:52

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 20:54

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
Odpovídá na Ori I
Štefan Pružinský:26.12.2014 20:56

js bohužial neovládam

Nahoru Odpovědět
26.12.2014 20:56
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Odpovídá na Štefan Pružinský
Neaktivní uživatel:26.12.2014 21:28

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
Neaktivní uživatelský účet
Avatar
Odpovídá na Štefan Pružinský
Neaktivní uživatel:26.12.2014 21:30

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
26.12.2014 21:30
Neaktivní uživatelský účet
Avatar
Ori I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 21:32
<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 Neaktivní uživatel
Štefan Pružinský:26.12.2014 21:41

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
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Štefan Pružinský
Jan Lupčík:26.12.2014 21:48

A co použít str_replace?

Nahoru Odpovědět
26.12.2014 21:48
TruckersMP vývojář
Avatar
Ori I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 21:48

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 I
Štefan Pružinský:26.12.2014 21:49

Tvoj zase hodí takto: Мученик Евстраѭ‚РёР№.
Neaktivní uživatel 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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 21:54

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 I
Štefan Pružinský:26.12.2014 21:57

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 22:00

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 I
Štefan Pružinský:26.12.2014 22:04

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 22:11

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
26.12.2014 22:11
Avatar
Odpovídá na Ori I
Štefan Pružinský:26.12.2014 22:23

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ý:26.12.2014 22:27

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:26.12.2014 23:08

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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.12.2014 23:08
Avatar
Odpovídá na Ori I
Štefan Pružinský:27.12.2014 9:49

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 I
Člen
Avatar
Odpovídá na Štefan Pružinský
Ori I:27.12.2014 13:49

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
27.12.2014 13:49
Avatar
Odpovídá na Ori I
Štefan Pružinský:27.12.2014 14:25

Ok, diki.

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.