Advertisement
ipsBruno

(PHP) Reconhecer textos

Jan 28th, 2013
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.73 KB | None | 0 0
  1. // Motor para reconhecimento de texto.  0,5%
  2. // Por Bruno da Silva
  3. // ipsbr.net
  4.  
  5. <?php
  6.     if(!isset($_GET['msg']))
  7.         die("Não reconheço");
  8.     else
  9.         $usuario_texto = $_GET['msg'];
  10.  
  11.     class conjuga
  12.     {
  13.         function pegar_terminacao($verbo) {
  14.    
  15.             $terminacao = substr($verbo, -3 );
  16.  
  17.             $classe = "infinitivo" ;
  18.  
  19.              if( $terminacao == "ndo" )
  20.                 $classe = "gerundio";
  21.  
  22.             else if( substr($terminacao,1) == "do" )
  23.                 $classe = "participio";
  24.  
  25.        
  26.             return $classe;    
  27.         }
  28.  
  29.         function presente_indicativo($verbo)
  30.         {
  31.             $verbo = strtolower($verbo);
  32.             $radical = substr($verbo,0,-2);
  33.             $terminacao = substr($verbo, -2);
  34.    
  35.             if($terminacao == "ar")
  36.                 $pessoa = array("primeira" => "o","segunda" => "as", "terceira" => "a", "quarta" => "amos", "quinta" => "ais", "sexta" => "am");
  37.             else if($terminacao == "er")
  38.                 $pessoa = array("primeira" => "o", "segunda" => "es","terceira" => "e", "quarta" => "emos", "quinta" => "eis", "sexta" => "em");
  39.             elseif($terminacao == "ir")
  40.                 $pessoa = array("primeira" => "io", "segunda" => "is", "terceira" => "i","quarta" => "&#65533;mos", "quinta" => "&#65533;s", "sexta" => "em");
  41.    
  42.             return array("eu" => $radical.$pessoa["primeira"],"tu" => $radical.$pessoa["segunda"],"ele" => $radical.$pessoa["terceira"],"nos" => $radical.$pessoa["quarta"], "vos" => $radical.$pessoa["quinta"], "eles" => $radical.$pessoa["sexta"]);
  43.         }
  44.  
  45.         function fazer_gerundio($verbo)
  46.         {
  47.             $verbo = strtolower($verbo);
  48.             $radical = substr($verbo,-2,-1);
  49.             return  substr($verbo,0,-2) . $radical . "ndo";    
  50.         }
  51.  
  52.         function fazer_verbo($verbo, $metodo) {
  53.  
  54.             if( $metodo == "gerundio") {
  55.                  $verbo = substr($verbo, 0,-3) ."r";
  56.             }
  57.  
  58.             else if( $metodo == "participio") {
  59.                 $verbo =   substr($verbo, 0,-2) ."r";
  60.             }
  61.            
  62.             if(!strpos(file_get_contents ( "http://www.conjuga-me.net/verbo-" . $verbo) , "não encontrado"))
  63.                 return $verbo;
  64.            
  65.             return $this->auto_correcao($verbo);
  66.         }
  67.  
  68.         function auto_correcao($verbo) {
  69.  
  70.             $verbo = urlencode($verbo);
  71.        
  72.             $verbo = "http://www.google.com/search?hl=pt-BR&q=".$verbo."";
  73.        
  74.             $content =  file_get_contents($verbo);
  75.            
  76.            
  77.             $pattern = "/<b><i>(.+?)<\/i><\/b>/i";
  78.            
  79.             if (@preg_match_all($pattern, $content,  $palavra))
  80.                 return $palavra[1][0];
  81.             else
  82.                 return "null";
  83.         }
  84.  
  85.         function fazer_participio($verbo)
  86.         {
  87.             $verbo = strtolower($verbo);
  88.  
  89.             $terminacao = substr($verbo, -2);
  90.          
  91.             $final = array( "er" => "ido", "ar" => "ado", "ir"=> "ido");
  92.  
  93.             return  substr($verbo, 0, -2) . $final[$terminacao];
  94.         }  
  95.  
  96.     }
  97.  
  98.     $usuario_conjuga = explode(' ', $usuario_texto);
  99.  
  100.     $verbo = new conjuga();
  101.  
  102.     foreach ($usuario_conjuga as $i) { 
  103.         echo $verbo->auto_correcao($usuario_texto);    
  104.     }
  105.    
  106.  
  107.  
  108. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement