Forum www.komorki.forumowisko.net Strona Główna www.komorki.forumowisko.net
Zapraszamy na www.komorki.forumowisko.net
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy    GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

wykopany skrypt - odmiana przez przypadki (na razie tylko 1)

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.komorki.forumowisko.net Strona Główna -> PHP,MYSQL
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
eRiZ
Haker



Dołączył: 25 Kwi 2006
Posty: 616
Przeczytał: 0 tematów

Ostrzeżeń: 0/10
Skąd: Szczebrzeszyn, /dev/null :)

PostWysłany: Wto 20:39, 02 Maj 2006    Temat postu: wykopany skrypt - odmiana przez przypadki (na razie tylko 1)

Ktoregos dnia nie mialem co robic i zrobilem sobie funkcje... odmieniajaca rzeczowniki przez przypadki Very Happy

ps. to jest pierwsza wersja, praktycznie zero optymalizacji (bo pisana przez jeden wieczor; potem nie chcialo mi sie Very Happy). Ograniczenia: liczba pojedyncza, tylko dopelniacz.

Kod:
//hyhy, funkcja odmieniajaca przez przypadki, na razie tylko dopelniacz bez kilku wyjatkow, ale dziala :)
//(c)2005 by eRiZ

define('P_DOPELNIACZ', 2);

function przypadki($przypadek, $rzeczownik){
   
   $rzeczownik = strtolower($rzeczownik);
   
   switch($przypadek){
      case P_DOPELNIACZ:
         
         $ltrs = array();
         
         for($a=0;$a<strlen($rzeczownik);$a++){
            $ltrs[] = $rzeczownik{$a};
         }
         
         $t = array("¶"=>"si", "ć"=>"ci", "ń"=>"ni");
         
         $ch = true;
         
         foreach($t as $key=>$value){
            if($ltrs[count($ltrs)-1]==$key){
               $ch = false;
               break;
            }
         }
         
         $ltrs[count($ltrs)-1] = strtr($ltrs[count($ltrs)-1], $t);
         
         $y = false;
         $a = false;
         $i = false;
         $u = false;
         
         if($ltrs[count($ltrs)-2]=='e'){
            if($ltrs[count($ltrs)-1]=='s'){
               $u = true;
               $a = false;
               $y = false;
               $i = false;
            }else{
               unset($ltrs[count($ltrs)-2]);
            }
         }
         
         if($ltrs[count($ltrs)-1]=='y'){
            array_pop($ltrs);
            $y = true;
            $a = false;
            $i = false;
            $u = false;
         }
         

         if($ltrs[count($ltrs)-1]=='k' or $ltrs[count($ltrs)-1]=='h' or $ltrs[count($ltrs)-1]=='r' or $ltrs[count($ltrs)-1]=='d'){
            $u = true;
            $i = false;
            $y = false;
            $a = false;
         }
         
         if($ltrs[count($ltrs)-1]=='o'){
            array_pop($ltrs);
            $a = true;
            $y = false;
            $i = false;
            $u = false;
         }
         
         if($ltrs[count($ltrs)-1]=='e'){
            if($ltrs[count($ltrs)-2]!='i'){
               if($ltrs[count($ltrs)-2]=='l'){
                  $i = false;
                  $a = true;
                  $y = false;
                  $u = false;
               }else{
                  $i = true;
                  $a = false;
                  $y = false;
                  $u = false;
               }
            }else{
               $i = false;
               $a = false;
               $y = false;
               $u = false;
            }
            array_pop($ltrs);
         }
         
         if($ltrs[count($ltrs)-1]=='a'){
            if($ltrs[count($ltrs)-2]=='k' or $ltrs[count($ltrs)-2]=='j'){
               $i = true;
               $a = false;
               $y = false;
               $u = false;
            }else{
               $a = false;
               $y = true;
               $i = false;
               $u = false;
            }
            array_pop($ltrs);
         }
         
         $t = implode('', $ltrs);
         
         if($ch){
            if($y){
               return $t.'y';
            }else if($y){
               return $t.'ego';
            }else if($i){
               return $t.'i';
            }else if($u){
               return $t.'u';
            }else{
               return $t.'a';
            }
         }else{
            return $t;
         }
         
      break;   
   }
}


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Pioteer
Admin



Dołączył: 19 Kwi 2006
Posty: 334
Przeczytał: 0 tematów

Ostrzeżeń: 0/10
Skąd: Turośń Dolna

PostWysłany: Wto 19:51, 16 Maj 2006    Temat postu:

No widać że troche nad nim pracowałeś powodzenia w tworzeniu kolejnych fajnych skryptów w php

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.komorki.forumowisko.net Strona Główna -> PHP,MYSQL Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin