Version complète: sur le forum Webmaster Hub : Supprimer les mots de moins de 2 caractères
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
sparh
Bonsoir,
je souhaite supprimer (ou remplacer par un espcae) tous les mots de moins de 2 lettres dans une chaîne de caractère?

J'ai cherché mais pas encore trouvé ?
Une idée ?
Jeanluc
Pour supprimer "tous" les mots de 1 ou 2 lettres ou chiffres :
CODE
$chaine = preg_replace ('/^\w\w? /',  '', $chaine);
$chaine = preg_replace ('/ \w\w?$/',  '', $chaine);
$nouvelle_chaine = preg_replace ('/ \w\w? /',  ' ', $chaine);

Jean-Luc


sparh
Merci Jean Luc, c'est parfait wink.gif

En fait je travaille sur un système de recherche.

Le système:
Je récupère la recherche,
j'enlève les mots de moins de 2 lettres.
Je met les mots clés restant dans un tableau
et je cherche avec un LIKE NomChamp='%motclé%' dans tous les champs et avec tous les mots clés recherché

Mais comment trier les résultats d'une recherche avec plusieurs LIKE NomChamp='%motclé%' par pertinence ?

ps: aussi si vous connaissiez un bon site pour débuter avec les expressions régulières (je crois que c'est ça ce que m'a donné Jean Luc) car j'aimerai bien apprendre.
Merci
karnabal
Tu peux commencer par jeter un oeil ici : s'initier aux expressions régulières.
Anonymus
Pour ton problème de 'pertinence', tu devrais lire les publications : http://www.webmaster-hub.com/publication/_Cariboo_.html
et tu comprendra que.. pertinence rime avec patience, lorsqu'il s'agit de la trouver smile.gif

Pour ton problème de "2 lettres", tu aurais pu t'en sortir avec un 'explode' et une condition :

CODE
$array = explode(" ",$string);
foreach($array as $k => $v)
if(strlen($k)>2)
$query .= " LIKE '%".$v."%' "

Bon, en gros, quoi.. biggrin.gif

Nicolas.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.