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 = "&#1040; &#1072; &#1041; &#1073; &#1042; &#1074; &#1043; &#1075; &#1044; &#1076; &#1045; &#1077; &#1025; &#1105; &#1046; &#1078; &#1047; &#1079; &#1048; &#1080; &#1049; &#1081; &#1050; &#1082; &#1051; &#1083; &#1052; &#1084; &#1053; &#1085; &#1054; &#1086; &#1055; &#1087; &#1056; &#1088; &#1057; &#1089; &#1058; &#1090; &#1059; &#1091; &#1060; &#1092; &#1061; &#1093; &#1062; &#1094; &#1063; &#1095; &#1064; &#1096; &#1065; &#1097; &#1066; &#1098; &#1067; &#1099; &#1068; &#1100; &#1069; &#1101; &#1070; &#1102; &#1071; &#1103;";
$temp = $_POST["teksti"];
if ($temp != "") {
	$teksti = stripslashes($temp);
	// s-caron ja z-caron entiteettikoodeiksi
	$teksti = str_replace(chr(138), "&#352;", $teksti);
	$teksti = str_replace(chr(154), "&#353;", $teksti);
	$teksti = str_replace(chr(142), "&#381;", $teksti);
	$teksti = str_replace(chr(158), "&#382;", $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 --&gt; latinalainen (ISO 9)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="kyrsfs4900caron"<?PHP if ($muunnos == "kyrsfs4900caron") echo " CHECKED"; ?>> kyrillinen --&gt; latinalainen (SFS 4900)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="kyrsfs4900h"<?PHP if ($muunnos == "kyrsfs4900h") echo " CHECKED"; ?>> kyrillinen --&gt; latinalainen (SFS 4900; merkit &#353; ja &#382; korvataan sh:lla ja zh:lla)<BR>
<INPUT TYPE="radio" NAME="muunnos" VALUE="iso9kyr"<?PHP if ($muunnos == "iso9kyr") echo " CHECKED"; ?>> latinalainen --&gt; kyrillinen (ISO 9; merkit &#698; ja &#697; muunnetaan aina pieniksi kyrillisiksi kirjaimiksi &#1098; ja &#1100;)
<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("&#1040;", "&#1072;", "&#1041;", "&#1073;", "&#1042;", "&#1074;", "&#1043;", "&#1075;", "&#1044;", "&#1076;", "&#1045;", "&#1077;", "&#1025;", "&#1105;", "&#1046;", "&#1078;", "&#1047;", "&#1079;", "&#1048;", "&#1080;", "&#1049;", "&#1081;", "&#1050;", "&#1082;", "&#1051;", "&#1083;", "&#1052;", "&#1084;", "&#1053;", "&#1085;", "&#1054;", "&#1086;", "&#1055;", "&#1087;", "&#1056;", "&#1088;", "&#1057;", "&#1089;", "&#1058;", "&#1090;", "&#1059;", "&#1091;", "&#1060;", "&#1092;", "&#1061;", "&#1093;", "&#1062;", "&#1094;", "&#1063;", "&#1095;", "&#1064;", "&#1096;", "&#1065;", "&#1097;", "&#1066;", "&#1098;", "&#1067;", "&#1099;", "&#1068;", "&#1100;", "&#1069;", "&#1101;", "&#1070;", "&#1102;", "&#1071;", "&#1103;");

$iso9merkit = array("A", "a", "B", "b", "V", "v", "G", "g", "D", "d", "E", "e", "Ë", "ë", "&#381;", "&#382;", "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", "&#268;", "&#269;", "&#352;", "&#353;", "&#348;", "&#349;", "&#698;", "&#698;", "Y", "y", "&#697;", "&#697;", "È", "è", "Û", "û", "Â", "â");

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", "&#381;", "&#382;", "J", "j", "K", "k", "L", "l", "M", "m", "N", "n", "P", "p", "R", "r", "S", "s", "T", "t", "F", "f", "H", "h", "C", "c", "&#268;", "&#269;", "&#352;", "&#353;", "&#348;", "&#349;");
		$iso9_scaroniso = "&#352;";
		$iso9_scaronpieni = "&#353;";
		$iso9_ccaroniso = "&#268;";
		$iso9_ccaronpieni = "&#269;";
		$iso9_zcaroniso = "&#381;";
		$iso9_zcaronpieni = "&#382;";
		$iso9_ssirkumfleksiiso = "&#348;";
		$iso9_ssirkumfleksipieni = "&#349;";
		$iso9_zcaron_ccaron_scaron_ssirkumfleksi = array("&#381;", "&#382;", "&#268;", "&#269;", "&#352;", "&#353;", "&#348;", "&#349;");
		$iso9_kova = "&#698;";
		$iso9_pehmea = "&#697;";

		// 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("&#698;", "&#1098;", $teksti);
	$teksti = str_replace("&#697;", "&#1100;", $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