Mors Sınıfı ile Gelişmiş Mors Alfabesine ve Yazıya Çevirme

<?php
class Mors{
	private static $mors=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"=>"--..","1"=>".----",
		"2"=>"..---","3"=>"...--","4"=>"....-","5"=>".....","6"=>"-....","7"=>"--...",
		"8"=>"---..","9"=>"----.","0"=>"-----"," "=>"   ","."=>".-.-.-",","=>"--..--",
		"?"=>"..--..","!"=>"..--.",":"=>"---...","'"=>".----.","\""=>".-..-.",
		"="=>"-...-","EOM"=>".-.-."
	);
	private static $yazis=array();
	static function kelime($kelime){
		mb_strtolower($kelime);
		$kelime = str_replace("&", "&", $kelime);
		$kelime = preg_replace("/&([a-z]+);/", "", $kelime); 
		$kelime = str_replace(
		array("$","^","*",";","%","~","@","#","[","]","<",">","\\","/","+"), 
		"", $kelime);
		$kelime = str_replace(
		array('_',"&",'ç','ş','ı','í','ì','î','ï','ú','ü','ù','û','á','ä','â','à','â','ó','ö','ò','ô','ô','ğ'), 
		array("-","ve",'c','s','i','i','y','y','i','u','u','u','u','a','a','a','a','a','o','o','o','o','o','g'), $kelime);  
		return strtolower($kelime);
	}
	static function MorsaCevir($kelime) {
		$kelime=Mors::kelime($kelime);
		$yazdir = "";
		for ($i = 0; $i < strlen($kelime); $i++) {
			$yazi = substr($kelime,$i,1);
			// ignore unknown harfacters
			if (self::$mors[$yazi] == "") continue;
			$yazdir .= (self::$mors[$yazi]." ");
		}
		return trim($yazdir);
	}
	static function YaziyaCevir($kelime) {
		$kelime = strtolower($kelime);
		reset(self::$mors);
		while (list($yazi,$kod) = each(self::$mors)) {
			self::$yazis[$kod] = $yazi;
		}
		$yazdir = "";
		$kelimeler = array();
		$harfler = array();
		$kelimeler = preg_split("/".self::$mors[" "]."/", $kelime, -1, PREG_SPLIT_NO_EMPTY);
		foreach ($kelimeler as $kelime) {
			$harfler = array_merge($harfler, preg_split("/ /", $kelime, -1, PREG_SPLIT_NO_EMPTY));
			$harfler[] = '';
		}
		$harfler[count($harfler)-1] = self::$mors["EOM"];
		foreach ($harfler as $harf) {
			// ignore unknown harfacters
			if ($harf == "") {
				$yazdir .= " ";
			}
			if ($harf == self::$mors["EOM"]) {
				break;
			}
			if (@self::$yazis[$harf] == "") {
				continue;
			}
			$yazdir .= self::$yazis[$harf];
		}
		return trim($yazdir);
	}
}
echo $mors=Mors::MorsaCevir('Bu bir deneme yazısıdır');
echo '<br>';
echo Mors::YaziyaCevir($mors);
?>

Çıktısı

-... ..- -... .. .-. -.. . -. . -- . -.-- .- --.. .. ... .. -.. .. .-.
bu bir deneme yazisidir

 

Kelime Kökü Aramak

index.php

<?php
header('Content-type: text/html; charset=utf-8');
class Kok {
	var $kayityukle;
	function Kok() {
		if (file_exists("kontrol.dat")) {
			$dosya = file("kontrol.dat");
			foreach ($dosya as $l => $v) {
				$w = explode(":",$v);
				if (count($w) >= 3) {
					$eylemler = $w[2];
					$this->kayityukle[] = array('tip' => $w[0],'duzensiz' => $w[1],'eylem' => $eylemler);
				}
			}
		}
		else die("Dosya kontrol.dat mevcut değil veya okunamaz!");
	}
	function eslestir($metin,$tip) {
		foreach ($this->kayityukle as $id => $ar) {
			echo "$metin ile ".$ar['duzensiz']." eşleştirmeye çalışıyorum<br>";
			if (($ar['tip'] == $tip) && (strstr($metin,$ar['duzensiz']))) {
				eval($ar['eylem']);
			}
			else {
				echo "Düzensiz eşleşmiyor veya $tip != ".$ar['tip']."<br>";
			}
		}
	}
}

$Kok = new Kok;
print_r($Kok->kayityukle);
echo "<p>";
$Kok->eslestir("hayatta tarz iyidir","a");
echo "<p>";
$Kok->eslestir("ben dünyayı yönetiyorum!","p");
echo "<p>";
$Kok->eslestir("ben dünyayı yönetiyorum! 2","a");
?>

kontrol.dat

a:hayat:echo "$metin hayatla eşleşti tip a<br>";
p:dünya:echo "$metin eşleşti dünya tip p<br>";

Çıktısı

Array
(
    [0] => Array
        (
            [tip] => a
            [duzensiz] => hayat
            [eylem] => echo "$metin hayatla eşleşti tip a
";

        )

    [1] => Array
        (
            [tip] => p
            [duzensiz] => dünya
            [eylem] => echo "$metin eşleşti dünya tip p
";
        )

)
hayatta tarz iyidir ile hayat eşleştirmeye çalışıyorum
hayatta tarz iyidir hayatla eşleşti tip a
hayatta tarz iyidir ile dünya eşleştirmeye çalışıyorum
Düzensiz eşleşmiyor veya a != p

ben dünyayı yönetiyorum! ile hayat eşleştirmeye çalışıyorum
Düzensiz eşleşmiyor veya p != a
ben dünyayı yönetiyorum! ile dünya eşleştirmeye çalışıyorum
ben dünyayı yönetiyorum! eşleşti dünya tip p

ben dünyayı yönetiyorum! 2 ile hayat eşleştirmeye çalışıyorum
Düzensiz eşleşmiyor veya a != a
ben dünyayı yönetiyorum! 2 ile dünya eşleştirmeye çalışıyorum
Düzensiz eşleşmiyor veya a != p

 

Diziyi Metin Olarak Depolama ve Geri Dönüştürme

<?php
class diziDepola{
	function dizidenMetine($dizi,$baskila=0,$doldur='',$sekme=1) {  
		$t=null;
		if (!$doldur) {  
			$metinDondur='array(';  
		}  
		$n=rand();  
		$calis[$n]=0;  
		for($i=0;$i<$sekme;$i++) { 
			$t.="\t"; 
		}  
		foreach ($dizi as $anahtar => $deger) {  
				if (!$calis[$n]) {  
		$c='';  
				} else {  
		$c=', ';  
				} 
				$calis[$n]++;  
				if (is_array($deger)) {  
		$metinDondur.=$c."\n".$t.'\''.$anahtar.'\' => array('.dizidenMetine($deger,$baskila,1,$sekme+1);  
		continue 1;  
				}  
				$metinDondur.=$c."\n".$t.'\''.$anahtar.'\' => \''.$deger.'\'';  
		}	  
		if (!$doldur) {  
				$metinDondur.=');'."\n";  
		} else {  
				$metinDondur.=')';  
		}  
		if ($baskila) {  
				return gzcompress($metinDondur, 9);  
		} else {  
				return $metinDondur;  
		}  
	}  
	function metindenDiziye($dizitxt,$baskicoz=0) {
		if (!$dizitxt) {return array();}
		if ($baskicoz) {  
			eval('$return_array = '.gzuncompress($dizitxt));  
			return $return_array;  
		} else {  
			if (!eval('$return_array = '.$dizitxt)) {
				print '<h2>metindenDiziye HATA</h2>';
				print $dizitxt;exit;
			}
			return $return_array;  
		}  
	}  
}
$diziDepola = new diziDepola;
$baskila = 1;// (0 veya 1)
$dizi=array("merhaba nasilsiniz",1,23,6);
$dizi_text = $diziDepola->dizidenMetine($dizi,$baskila);
echo $dizi_text."<br>";
$baskicoz = 1;// (0 veya 1)
$dizi = $diziDepola->metindenDiziye($dizi_text,$baskicoz);
print_r($dizi);
?>

Çıktısı

xÚK,*J¬ÔàâT7PW°µSPÏM-ÊHLJTÈK,ÎÌ)ÎÌˬR×QJB¤ !<#ÏÈÂ5†pÍÔ5­¹T•
Array ( [0] => merhaba nasilsiniz [1] => 1 [2] => 23 [3] => 6 )