Changeset 65579 in spip-zone


Ignore:
Timestamp:
Sep 5, 2012, 5:04:48 PM (7 years ago)
Author:
arno@…
Message:

$string n'est pas un mot, mais la chaîne complète. On ne peut donc pas le limite à 40 caractères. On coupe à 5000 pour éviter les timeout.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plugins_seenthis/detecter_langue/inc/detecter_langue.php

    r65556 r65579  
    6969function createNGrams($string, $ng_number=300, $ng_max_chars=4) {
    7070
    71         if (strlen($string) > 40) return array();
    72 
     71        // Attention: $string n'est pas un mot, mais le texte complet
     72        // On va le couper pour éviter les timeout,
     73        // mais il faut qu'il reste suffisamment long pour que la détection reste qualitative
     74        // Au passage: on fait les calculs en multibyte.
     75        $string = mb_substr($string, 0, 5000, "utf-8");
     76       
    7377        // Attention: il faut traiter les chaines en utf-8 !!!
    7478    //iterate over each word, each character, all possible n-grams
     
    187191        $texte = str_replace("\"", " ", $texte);
    188192       
     193        // Si texte trop court, impossible de détecter la langue
    189194        if (mb_strlen($texte, "utf-8") < 6 ) return false;
    190195
Note: See TracChangeset for help on using the changeset viewer.