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); }
//$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";