Aller au contenu

Supprimer les mots de moins de 2 caractères


sparh

Sujets conseillés

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Pour supprimer "tous" les mots de 1 ou 2 lettres ou chiffres :

$chaine = preg_replace ('/^\w\w? /',  '', $chaine);
$chaine = preg_replace ('/ \w\w?$/', '', $chaine);
$nouvelle_chaine = preg_replace ('/ \w\w? /', ' ', $chaine);

Jean-Luc

Lien vers le commentaire
Partager sur d’autres sites

Merci Jean Luc, c'est parfait ;)

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

Lien vers le commentaire
Partager sur d’autres sites

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 :)

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

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

Bon, en gros, quoi.. :D

Nicolas.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...