SOUNDEX 2 FRANCAIS

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 - 14 mars 2006 à 21:16
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 14 juil. 2009 à 12:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36539-soundex-2-francais

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
14 juil. 2009 à 12:37
Encore une question... Il prend en compte les espaces? Mon but c'est de bosser sur des noms de métiers.
Les métiers "infirmier" "infirmier reponsable" me renvoie les deux "INFR". C'est normal?

Merci!

Raf
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
14 juil. 2009 à 12:24
Salut! :-)
Sais-tu comment a tendance à évoluer la longueur des chaînes que tu passes là dedans? Je suppose que ca raccourci mais je préfère être sûr.

Merci!

Raf
Jits_ Messages postés 6 Date d'inscription mercredi 7 juin 2006 Statut Membre Dernière intervention 22 juin 2007
11 juin 2007 à 14:41
Salut,

J'ai une erreur à l'execution :

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in ***\soundex\class\php5\soundex2.cls.php on line 15

Comprend pas ... :(
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 avril 2006 à 08:03
Hello,

ah, des oublis; en fait, j'ai fait la version php4 à l'aveugle, je n'ai pas eu l'occasion de la tester sur un serveur interprétant php4.
ceci dit, array est un oubli impardonnable, c'était voyant...array_combine, j'étais persuadé qu'il existait en php4, mea culpa à fond.
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
17 avril 2006 à 18:31
Quelques menues broutilles à signaler, concernant la version "php4" de ton appli :

- dans "soundex2.cls.php", php4 ne semble pas apprécier la présence du mot-clé "array" à la ligne 177 :
function arrReplace (array $tab, $pref = false) {

- dans "index.php", la fonction "array_combine()" n'étant pas reconnue par php4, il faut l'écrire :

function array_combine($key,$value)
{
$m=count($key);
$n=count($value);

if ($m!=$n || !$n) return false;

for ($i=0;$i<$m;$i++) $rslt[$key[$i]]=$value[$i];
return $rslt;
}

Pour ce code, je n'ai fait qu'appliquer à la lettre les explications données dans l'aide de PHP.
Amicalement.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 avril 2006 à 11:30
Petite pub : ce package a été nomminé pour les innovations awards de phpclasses, ce mois-ci :-)
Donc, vous seriez très sympas si vous veniez voter pour lui, tant qu'à faire ;-)

http://www.phpclasses.org/browse/package/2972.html

Mercii ;-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 mars 2006 à 20:40
Merci TheSin :-)
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
16 mars 2006 à 00:12
intéressant malalam !
ça pourrait m'être utile un des ces 4 ;-)
9 car aucune source n'est parfaite :-P
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2006 à 12:53
Merci, mais je m'en tiens aux algo soundex et cie, c'était le but à la base :-)

Au passage, tu sais que preg_replace prend des tableaux en paramètres? Ce serait plus efficace que ces multiples lignes :-)
cs_glad Messages postés 97 Date d'inscription lundi 26 novembre 2001 Statut Membre Dernière intervention 24 février 2012
15 mars 2006 à 09:43
Hello,

Pour ma boîte, j'ai écrit il y a quelques temps un annuaire...

Voici les remplacements que j'effectue, si ça peut aider :

$quoi=preg_replace('*aille*','aye',$quoi);
$quoi=preg_replace('*eille*','aye',$quoi);
$quoi=preg_replace('*ault*','au',$quoi);
$quoi=preg_replace('*air*','er',$quoi);
$quoi=preg_replace('*aie*','e',$quoi);
$quoi=preg_replace('*aud*','au',$quoi);
$quoi=preg_replace('*aux*','au',$quoi);
$quoi=preg_replace('*aus*','au',$quoi);
$quoi=preg_replace('*oux*','ou',$quoi);
$quoi=preg_replace('*ous*','ou',$quoi);
$quoi=preg_replace('*eux*','eu',$quoi);
$quoi=preg_replace('*eus*','eu',$quoi);
$quoi=preg_replace('*eau*','o',$quoi);
$quoi=preg_replace('*ain*','in',$quoi);
$quoi=preg_replace('*ein*','in',$quoi);
$quoi=preg_replace('*tch*','ch',$quoi);
$quoi=preg_replace('*dj*','j',$quoi);
$quoi=preg_replace('*ai*','e',$quoi);
$quoi=preg_replace('*au*','o',$quoi);
$quoi=preg_replace('*sh*','ch',$quoi);
$quoi=preg_replace('*ez*','e',$quoi);
$quoi=preg_replace('*om*','on',$quoi);
$quoi=preg_replace('*an*','en',$quoi);
$quoi=preg_replace('*ei*','e',$quoi);
$quoi=preg_replace('*em*','en',$quoi);
$quoi=preg_replace('*qu*','k',$quoi);
// soundex français, repris en partie ici
$quoi=preg_replace('*h*','',$quoi);
$quoi=preg_replace('*b*','p',$quoi);
$quoi=preg_replace('*c*','k',$quoi);
$quoi=preg_replace('*q*','k',$quoi);
$quoi=preg_replace('*d*','t',$quoi);
$quoi=preg_replace('*m*','n',$quoi);
$quoi=preg_replace('*g*','j',$quoi);
$quoi=preg_replace('*x*','s',$quoi);
$quoi=preg_replace('*z*','s',$quoi);
$quoi=preg_replace('*f*','v',$quoi);

à ++
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2006 à 07:37
Je sais...j'ai contacté son créateur, pour savoir si je pouvais m'atteler à phonex aussi (VF je veux dire). Mais il m'a répondu qu'il y subsistait un bug.
Mais je vais m'y attaquer aussi :-) Dès que j'aurais optimisé, et peut-être débugger (suis pas sûr qu'il bugge lol) cette classe-ci.

Merci en tous cas :-)
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
14 mars 2006 à 21:23
Tiens, à en croire http://www-lium.univ-lemans.fr/~carlier/recherche/soundex.html#L4, il y a encore mieux que soundex2 : Phonex!

ABE.
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
14 mars 2006 à 21:16
Great! Moi j'aime! Ca combiné à du Levenshtein et t'as un bô moteur :)

-> 9
Rejoignez-nous