示例#1
0
function correct_text($texte)
{
    $extrawords = array(" ", ",", "<", ">", "(", ")", ".", "/", "\\", "\"", "\n", "\r", "\t", ";", ":", "=", "'", "!", "?", "l", "n", "qu", "d", "c", "s", "n", "t", "j", "m", "a", "à");
    $mots = preg_split("/([-\\s,\\/\n\r()<>.\"';?!:=«»])/", $texte, -1, PREG_SPLIT_DELIM_CAPTURE);
    $mots = array_filter($mots);
    //On enlève tous les débrits d'array que l'on a créé en explosant le texte
    $dictionnaires = charge_dicos($mots);
    //On charge les dictionnaires;
    $resultat = array();
    foreach ($mots as $mot) {
        if (!is_numeric($mot) and !in_array(strtolower($mot), $extrawords)) {
            if (is_correct($mot)) {
                $dico = name_dico($mot);
                $resultat[] = correct_word($mot, $dictionnaires[$dico]);
            } else {
                //$resultat[] = '<acronym title="aucune suggestion trouvée (Pas à corriger)" style="color:red;">'.$mot.'</acronym>';
                $resultat[] = $mot;
            }
        } else {
            $resultat[] = $mot;
        }
    }
    return implode('', $resultat);
}
示例#2
0
//$miss_word_counter e porednia nomer na geshnata duma
//naprimer 0,1,2,3,4,5
//wsichko greshno ot tekushtia nomer se izobraziawa cherweno
//proverka dali $miss_word_counter e w dopustimite granici 0 - lastelement
//bi tribwalo da e samo isset($_SESSION['misspelled'][$miss_word_counter])
//no ne raboti prawilno: zatowa $_SESSION['misspelled'][$miss_word_counter]['word_no']
//drug wariant e da se proweri $miss_word_counter >= 0 and <max elemenet
//!!! korekcia na duma i ubelichawane na $miss_word_counter samo ako w granicite
//!!! poslednata stojnost na $miss_word_counter e +1 po goliama ot poslednia element i ne se pozwoliwa poweche uwelicenie
if (isset($_SESSION['misspelled'][$miss_word_counter]['word_no'])) {
    // $csuggest is custom suggest i e s prioritet pred $asuggest (aspell suggest)
    if ($csuggest != '') {
        correct_word($miss_word_counter, $correct_pos, $csuggest);
        $miss_word_counter++;
    } elseif ($asuggest != '') {
        correct_word($miss_word_counter, $correct_pos, $asuggest);
        $miss_word_counter++;
    }
    if ($next == 'yes') {
        $miss_word_counter++;
    }
}
print "<DIV style=\"width: auto; background:#f2f2f2; padding:10pt; border-style: none; border-width: medium; margin-bottom:0px;\">\n";
//print("<code>");
display_red($miss_word_counter, $correct_pos);
//print("</code>");
print "</DIV>\n";
print "<div style=\"margin-top:0px; color:gray; text-align:center;\">";
print "miss word counter: {$miss_word_counter} <BR>\n";
print "</div>";
print "<div style=\"width: auto; background:#eaeff4; padding:10pt; border-style: none; border-width: medium; margin-bottom:0px;\">\n";