Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1476 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] recherche d'un mot 'exact' ds une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] recherche d'un mot 'exact' ds une chaine

n°1183149
erwan551
Posté le 24-08-2005 à 11:36:07  profilanswer
 

Bonjour a tous,
 
j'ai par exemple ceci :
 
"paris-gare"
"paris-centre"
"paris"
etc..
 
je cherche le mot "paris" et je voudrais obtenir seulement la chaine de caractere qui contient exactement le mot "paris"  
Dans l'exemple ca me retourne donc juste "paris" et non  "paris-gare" et "paris-centre"
 
Pour le moment j'utilise ceci 'ereg($value, $chaine);'
 
Merci de votre aide  

mood
Publicité
Posté le 24-08-2005 à 11:36:07  profilanswer
 

n°1183180
soju
One shot !
Posté le 24-08-2005 à 11:54:22  profilanswer
 

heu vu que tu connais le mot que tu veux chercher, pourquoi vouloir obtenir une chaine qui le contient ???

n°1183184
erwan551
Posté le 24-08-2005 à 11:59:22  profilanswer
 

je veux extraire des lignes d'un fichier csv
 
je parcours chaque ligne une par une et qd je vois le moit recherché je retire toute la ligne. Mon exemple prend "paris" mais il n'y a pas que ca
 
Si par exemple je mets "paris-centre" a rechercher je n'aurais que la ligne du texte contenant exactement "paris-centre" qui est retourné

n°1183267
sielfried
Posté le 24-08-2005 à 12:40:20  profilanswer
 
n°1183354
erwan551
Posté le 24-08-2005 à 13:43:04  profilanswer
 

ok Sielfried mais a quoi corespond tous ca ?
 
je mets ca comme ca : "ereg ("(?<!\-)paris(?!\-)", $chaine)" ??

n°1183395
sielfried
Posté le 24-08-2005 à 14:10:47  profilanswer
 

En fait ça dépend ce que tu veux. Ton exemple sur le post de base est pas clair.
 
T'as une chaîne et tu veux savoir si elle contient un mot donné, c'est ça ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1183410
soju
One shot !
Posté le 24-08-2005 à 14:24:04  profilanswer
 

erwan551 a écrit :

je mets ca comme ca : "ereg ("(?<!\-)paris(?!\-)", $chaine)" ??


ereg ne gère pas les assertions, donc utilise preg
 
en gros la regexp de silfried va chercher les occurences de "paris" qui ne sont pas précédées ni suivies d'un tiret.

n°1183412
erwan551
Posté le 24-08-2005 à 14:25:40  profilanswer
 

en fait,  j'ai plein de lignes dans un fichier
 
par exemple :
 
Paris;fdgd;dgfdgr;rgeg;grggg
Rennes;gerg;ge;egehge;ege
Paris-centre;sgr;rgre;egrg;egrgver
Marseille;sdgs;ergr;egreg;grere
Tours;zegtgr;efs;grre;gegreg
 
Ce fichier s'appelle 'donnee.txt'
 
un utilisateur peut choisir via un menu déroulant comprenant : Paris, Rennes, Paris-centre, Marseille, Tours.
 
S'il choisit "paris" je veux faire ressortir dans un fichier seulement la ligne "Paris;fdgd;dgfdgr;rgeg;grggg" et non pas la ligne "Paris-centre;sgr;rgre;egrg;egrgver"
 
En faisant un 'ereg ($ville, $fichier)', j'obtiens les deux lignes conteant Paris donc c'est pas bon !

n°1183417
sielfried
Posté le 24-08-2005 à 14:28:12  profilanswer
 

Ben pour chaque ligne tu passes un coup de

Code :
  1. preg_match('#\b(?<!\-)'.$mot.'(?!\-)\b#', $chaine);

et ça devrait le faire. Si ça renvoie 1 c'est une ligne qui convient, sinon 0.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1183423
soju
One shot !
Posté le 24-08-2005 à 14:34:21  profilanswer
 

ou  

Code :
  1. if (preg_match_all('#^'.$mot.';.*$#mi', $str, $match))
  2. print_r($match);


tu auras dans le tableau $match toutes les lignes trouvées, pas besoin de parser ligne par ligne


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] recherche d'un mot 'exact' ds une chaine

 

Sujets relatifs
Verification d'une chaine numériqueRemplacement des occurrences d'un mot dans une chaîne par un autre mot
Resultat trie d'une recherche avec FileSearch[batch] longueur d'une chaine de char
Je recherche quelqu'un ayant des competances dans le languages RUBY.Recherche d'un code : Texte défilant verticalement de façon non sacadé
[ACCESS]recherche par caractère générique (par ex.*)ne fonctionne pasRecherche programmeurs
[Shell] Traitement de fichier - chaine de caractères[php] recherche seulement 2 occurences avec ereg
Plus de sujets relatifs à : [php] recherche d'un mot 'exact' ds une chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR