Etusivulle
Sivun PHP-lähdekoodin näyttäminen
Alla on sivun venajantranslitterointi.php PHP-lähdekoodi.
<?PHP include ("_funktiot.php"); ?>
<?PHP NaytaSivunAlku ("Ohjelma, joka translitteroi venäjän kieltä"); ?>
<?PHP
// Luetaan post-parametrit
$teksti = "А а Б б В в Г г Д д Е е Ё ё Ж ж З з И и Й й К к Л л М м Н н О о П п Р р С с Т т У у Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ Ы ы Ь ь Э э Ю ю Я я";
$temp = $_POST["teksti"];
if ($temp != "") {
$teksti = stripslashes($temp);
// s-caron ja z-caron entiteettikoodeiksi
$teksti = str_replace(chr(138), "Š", $teksti);
$teksti = str_replace(chr(154), "š", $teksti);
$teksti = str_replace(chr(142), "Ž", $teksti);
$teksti = str_replace(chr(158), "ž", $teksti);
}
$muunnos = "kyriso9";
$temp = $_POST["muunnos"];
if ($temp != "") $muunnos = $temp;
?>
Tällä ohjelmalla voi muuntaa venäjänkielistä tekstiä kyrillisen ja latinalaisen kirjaimiston välillä. ISO 9 on kansainvälinen, tieteellinen standardi. SFS 4900 on suomalainen standardi. Olen käyttänyt lähteenä <A HREF="http://fi.wikipedia.org/wiki/Ven%C3%A4j%C3%A4n_translitterointi">tätä</A> Wikipedian artikkelia.
<P>
<FORM METHOD="post" ACTION="venajantranslitterointi.php">
Muunnos:<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="kyriso9"<?PHP if ($muunnos == "kyriso9") echo " CHECKED"; ?>> kyrillinen --> latinalainen (ISO 9)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="kyrsfs4900caron"<?PHP if ($muunnos == "kyrsfs4900caron") echo " CHECKED"; ?>> kyrillinen --> latinalainen (SFS 4900)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="kyrsfs4900h"<?PHP if ($muunnos == "kyrsfs4900h") echo " CHECKED"; ?>> kyrillinen --> latinalainen (SFS 4900; merkit š ja ž korvataan sh:lla ja zh:lla)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="iso9kyr"<?PHP if ($muunnos == "iso9kyr") echo " CHECKED"; ?>> latinalainen --> kyrillinen (ISO 9; merkit ʺ ja ʹ muunnetaan aina pieniksi kyrillisiksi kirjaimiksi ъ ja ь)
<P>
Muunnettava teksti:<BR>
<TEXTAREA NAME="teksti" ROWS=5 COLS=80><?PHP echo $teksti; ?></TEXTAREA>
<P>
<INPUT TYPE="submit" VALUE="Muunna">
</FORM>
<P><HR><P>
Translitteroitu teksti:
<P>
<?PHP
$kyrmerkit = array("А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф", "Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я");
$iso9merkit = array("A", "a", "B", "b", "V", "v", "G", "g", "D", "d", "E", "e", "Ë", "ë", "Ž", "ž", "Z", "z", "I", "i", "J", "j", "K", "k", "L", "l", "M", "m", "N", "n", "O", "o", "P", "p", "R", "r", "S", "s", "T", "t", "U", "u", "F", "f", "H", "h", "C", "c", "Č", "č", "Š", "š", "Ŝ", "ŝ", "ʺ", "ʺ", "Y", "y", "ʹ", "ʹ", "È", "è", "Û", "û", "Â", "â");
if ($muunnos == "kyriso9" || $muunnos == "kyrsfs4900caron" || $muunnos == "kyrsfs4900h") {
// kyrillinen --> ISO 9 tai SFS 4900
$teksti = str_replace($kyrmerkit, $iso9merkit, $teksti);
if ($muunnos == "kyrsfs4900caron" || $muunnos == "kyrsfs4900h") {
// ISO 9 --> SFS 4900
$iso9kons = array("B", "b", "V", "v", "G", "g", "D", "d", "Ž", "ž", "J", "j", "K", "k", "L", "l", "M", "m", "N", "n", "P", "p", "R", "r", "S", "s", "T", "t", "F", "f", "H", "h", "C", "c", "Č", "č", "Š", "š", "Ŝ", "ŝ");
$iso9_scaroniso = "Š";
$iso9_scaronpieni = "š";
$iso9_ccaroniso = "Č";
$iso9_ccaronpieni = "č";
$iso9_zcaroniso = "Ž";
$iso9_zcaronpieni = "ž";
$iso9_ssirkumfleksiiso = "Ŝ";
$iso9_ssirkumfleksipieni = "ŝ";
$iso9_zcaron_ccaron_scaron_ssirkumfleksi = array("Ž", "ž", "Č", "č", "Š", "š", "Ŝ", "ŝ");
$iso9_kova = "ʺ";
$iso9_pehmea = "ʹ";
// Väliaikaiset merkit: iso kirjain = "%", pieni kirjain = "¤".
// "j" --> "i", "j" tai ""
foreach ($iso9merkit as $m) {
$teksti = str_replace("Ij" . $m, "I¤" . $m, $teksti);
$teksti = str_replace("ij" . $m, "i¤" . $m, $teksti);
}
$teksti = str_replace("Ij", "I", $teksti);
$teksti = str_replace("ij", "i", $teksti);
foreach ($iso9merkit as $m) {
$teksti = str_replace($m . "j", $m . "i", $teksti);
}
$teksti = str_replace("¤", "j", $teksti);
// "i" --> "i" tai "ji"
$teksti = str_replace($iso9_pehmea . "i", $iso9_pehmea . "ji", $teksti);
// "e" --> "e" tai "je"
foreach ($iso9kons as $m) {
$teksti = str_replace($m . "E", $m . "%", $teksti);
$teksti = str_replace($m . "e", $m . "¤", $teksti);
}
$teksti = str_replace("E", "JE", $teksti);
$teksti = str_replace("e", "je", $teksti);
$teksti = str_replace("JE", "Je", $teksti);
$teksti = str_replace("%", "E", $teksti);
$teksti = str_replace("¤", "e", $teksti);
// "ë" --> "o" tai "jo"
foreach ($iso9_zcaron_ccaron_scaron_ssirkumfleksi as $m) {
$teksti = str_replace($m . "Ë", $m . "%", $teksti);
$teksti = str_replace($m . "ë", $m . "¤", $teksti);
}
$teksti = str_replace("Ë", "Jo", $teksti);
$teksti = str_replace("ë", "jo", $teksti);
$teksti = str_replace("%", "O", $teksti);
$teksti = str_replace("¤", "o", $teksti);
// "c"
$teksti = str_replace("C", "Ts", $teksti);
$teksti = str_replace("c", "ts", $teksti);
// c-caron
$teksti = str_replace($iso9_ccaroniso, "T" . $iso9_scaronpieni, $teksti);
$teksti = str_replace($iso9_ccaronpieni, "t" . $iso9_scaronpieni, $teksti);
// s-sirkumfleksi
$teksti = str_replace($iso9_ssirkumfleksiiso, $iso9_scaroniso . "t" . $iso9_scaronpieni, $teksti);
$teksti = str_replace($iso9_ssirkumfleksipieni, $iso9_scaronpieni . "t" . $iso9_scaronpieni, $teksti);
// kova merkki
$teksti = str_replace($iso9_kova, "", $teksti);
// pehmeä merkki
$teksti = str_replace($iso9_pehmea, "", $teksti);
// è
$teksti = str_replace("È", "E", $teksti);
$teksti = str_replace("è", "e", $teksti);
// û
$teksti = str_replace("Û", "Ju", $teksti);
$teksti = str_replace("û", "ju", $teksti);
// â
$teksti = str_replace("Â", "Ja", $teksti);
$teksti = str_replace("â", "ja", $teksti);
if ($muunnos == "kyrsfs4900h") {
$teksti = str_replace($iso9_scaroniso, "Sh", $teksti);
$teksti = str_replace($iso9_scaronpieni, "sh", $teksti);
$teksti = str_replace($iso9_zcaroniso, "Zh", $teksti);
$teksti = str_replace($iso9_zcaronpieni, "zh", $teksti);
}
}
} else {
// ISO 9 --> kyrillinen
// Kova ja pehmeä merkki aina pieniksi kyrillisiksi kirjaimiksi
$teksti = str_replace("ʺ", "ъ", $teksti);
$teksti = str_replace("ʹ", "ь", $teksti);
$teksti = str_replace($iso9merkit, $kyrmerkit, $teksti);
}
$teksti = str_replace("\r\n", "<BR>", $teksti);
$teksti = str_replace("\r", "<BR>", $teksti);
$teksti = str_replace("\n", "<BR>", $teksti);
echo $teksti;
?>
<P>
<A HREF="_naytaphplahdekoodi.php?sivu=venajantranslitterointi.php">Tämän ohjelman PHP-lähdekoodi</A>
<?PHP NaytaSivunLoppu (); ?>
Takaisin sivulle venajantranslitterointi.php
Etusivulle