recherche avec REGEX

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recherche avec REGEX

par alexbad » 30 déc. 2005, 22:45

Tu ne pourrais pas utiliser un like dans ta requète SQL?
Je crois que REGEXP est plus approprié car avec un like, on se retrouve avec parfois ce que l'on ne veut pas => Je cherche la lettre "i", je me retrouve avec tout les résultat contenant un mots contenant un i :shock: mais ça, on pourrait en débattre longtemps, ça dépend de la manière dont les mots-clés sont enregistrés dans sa table, pour mon cas personnel, REGEXP convient mieux.

Pour ton problème d'accent, sous quelle forme les accents sont enregistrés dans la base? en clair? en caractères spéciaux?

par zeus » 24 déc. 2005, 12:16

modération : le multi-postage est interdit sur PHPFrance

L'autre message est parti à la poubelle

par @rthur » 24 déc. 2005, 02:28

Bonsoir,

Tu ne pourrais pas utiliser un like dans ta requète SQL?
SELECT * FROM matable WHERE monchamp LIKE '% MOTCLE %' OR monchamp LIKE '% MOTCLE' OR monchamp LIKE 'MOTCLE %' OR monchamp = 'MOTCLE'

recherche avec REGEX

par JOjo123 » 23 déc. 2005, 16:51

Salut a tous, j'ai un petit souci avec mon moteur de recherche.

Je souhaite pouvoir faire une recherche par mots clé dans un champ texte. J'utilise donc les expressions régulières pour trouver le mot dans le champ:

Code : Tout sélectionner

SELECT * FROM matable WHERE monchamp REGEXP '((\ +)|^)MOTCLE((\ +)|$)'
cette requete marche bien mais mon problème est qu'elle est sensible aux accents :(

je voudrai que mon expression régulière traite les "e", "é", "è", "ê" , etc. de la même manière.

une idée?

merci a vous.

(ce message n'étant pas vraiment du PHP ou du SQL, dans le doute je le poste dans les deux forums)