Foros del Web » Programando para Internet » PHP »

Diccionario En Php

Estas en el tema de Diccionario En Php en el foro de PHP en Foros del Web. Hola, queria saber si alguien sabe hacer lo siguiente. Necesito escribir un texto en un textarea y que al enviarlo me reconozca los errores de ...
  #1 (permalink)  
Antiguo 06/02/2008, 06:56
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Sonrisa Diccionario En Php

Hola, queria saber si alguien sabe hacer lo siguiente.

Necesito escribir un texto en un textarea y que al enviarlo me reconozca los errores de ortografia. Como puedo hacer para instalar un diccionario o algo parecido para que pueda realizar esto.

Muchas Gracias
  #2 (permalink)  
Antiguo 06/02/2008, 09:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Diccionario En Php

Checa esta extension de PHP: Pspell.

Saludos.
  #3 (permalink)  
Antiguo 07/02/2008, 05:22
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Diccionario En Php

Estube mirando la funcion de php PSpell y la verdad estoy impresionado ya que no no la conocia... y no tengo idea de como hacerla andar correctamente, instale el GUN pspell y segui los pasos que encontre en dicha pagina ofifical, el tema es que no lo puedo aplicar correctamente, me saltan errores de todo tipo.

Yo lo que necesito es hacer un examen de correccion ortografia, es decir les doy un texto y ellos tienen que copiarlo en menos de 4 minutos y corriegiendo los errores de ortografia y darles un puntaje por ello.

No se si es lo que busco pero si alguien me puede ayudar, encontre este codigo en la pagina de PHP
Código PHP:
<?
    
/**
     * Checks spelling of $string. Whole phrases can be sent in, too, and each word will be checked.
     * Returns an associative array of mispellings and their suggested spellings
     * @param string $string Phrase to be checked
     * @return array
     */
    
function checkSpelling $string )
    {
        
// Make word list based word boundries
        
$wordlist preg_split('/\s/',$string);

        
// Filter words
        
$words = array();
        for(
$i 0$i count($wordlist); $i++)
        {
            
$word trim($wordlist[$i]);
            if(!
preg_match('/[A-Za-z]/'$word))
                continue;
            
$word preg_replace('/[^\w\']*(.+)/''\1'$word);
            
$word preg_replace('/([^\W]*)[^\w\']*$/''\1'$word);
            
$word trim($word);
            if(!
in_array($word$wordstrue))
                
$words[] = $word;

        }
        
$misspelled $return = array();
        
$int pspell_new('en');

        foreach (
$words as $value)
            if (!
pspell_check($int$value))
                
$misspelled[] = $value;

        foreach (
$misspelled as $value)
            
$return[$value] = pspell_suggest($int$value);

        return 
$return;
    }
?>
Alguien puede explicarmelo bien, y como puedo hacer para que me lea un datos desde un textarea...

Saludos y Gracias
  #4 (permalink)  
Antiguo 07/02/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Diccionario En Php

Ese código lo que hace es desde un texto, parte las palabras, las pasa a un arreglo y luego checa si estan bien escritas, las que no estan bien escritas las regresa en un arreglo donde la llave es la palabra y el valor es el valor sugerido.

Para leer los datos desde un textarea es simple con hacer algo así:
Código PHP:
$result checkSpelling$_POST['texto'] );
foreach( 
$result as $palabra => $sugerencia ) {
        echo 
"$palabra => $sugerencia";

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:39.