Petite aide avec les regex :D
6 messages
• Page 1 sur 1
- vin-moi
- WRInaute occasionnel

- Messages: 391
- Inscription: 22 Nov 2004
Petite aide avec les regex :D
Salut,
voilà j'ai quelque chose de "simple" à réaliser en PHP :
- J'ai un texte avec des accents, admettons :
"j'ai un gros écrou, une vis, ainsi qu'une clé à molette".
- J'ai une une liste de mot enregistré dans un tableau, sans accent :
gros ecrou
vis
cle
- Je veux donc vérifier la présence de ces mots dans mon texte. Je parcourt donc chaque ligne du tableau contenant les mots, et je compare chaque mot au texte en prenant soin de supprimer tous les accents dans le texte. J'arrive donc à trouver les mots de la liste qui sont présent dans le texte.
L'objectif est d'ajouter des crochets autour des mots trouver ... Mais là je vois pas comment faire ? Le problème est que ce remplacement doit être fait dans le texte avec les accents et non dans le texte sans accent qui a servit à faire la vérification ?
Auriez-vous une idée ? Existe t'il une option pour les regex qui permettrait de pas prendre en comtpe les accent ? (des fois ca serait bien d'être anglais
).
Merci d'avance !
voilà j'ai quelque chose de "simple" à réaliser en PHP :
- J'ai un texte avec des accents, admettons :
"j'ai un gros écrou, une vis, ainsi qu'une clé à molette".
- J'ai une une liste de mot enregistré dans un tableau, sans accent :
gros ecrou
vis
cle
- Je veux donc vérifier la présence de ces mots dans mon texte. Je parcourt donc chaque ligne du tableau contenant les mots, et je compare chaque mot au texte en prenant soin de supprimer tous les accents dans le texte. J'arrive donc à trouver les mots de la liste qui sont présent dans le texte.
L'objectif est d'ajouter des crochets autour des mots trouver ... Mais là je vois pas comment faire ? Le problème est que ce remplacement doit être fait dans le texte avec les accents et non dans le texte sans accent qui a servit à faire la vérification ?
Auriez-vous une idée ? Existe t'il une option pour les regex qui permettrait de pas prendre en comtpe les accent ? (des fois ca serait bien d'être anglais
Merci d'avance !
-

Joe Le Mort - WRInaute occasionnel

- Messages: 260
- Inscription: 8 Aoû 2006
je ne comprend pas trop ton probleme.
Mais dans ton parcours de tableau, tu peux mettre chaque mots dans un autre tableau, en spécifiant pour un mot accentué, tu le rajoutes avec crochets, non ?
exemple rapide:
non ?
Mais dans ton parcours de tableau, tu peux mettre chaque mots dans un autre tableau, en spécifiant pour un mot accentué, tu le rajoutes avec crochets, non ?
exemple rapide:
- Code: Tout sélectionner
$tab=array();
foreach( $mots as $k => $v){
if mot accentué
$tab[$k]=>'['. $v.']';
else{
$tab[$k]=>$v;
}
}
non ?
- vin-moi
- WRInaute occasionnel

- Messages: 391
- Inscription: 22 Nov 2004
Oui c'est à peu pres ce que j'ai fait :d
Le principal problème était au niveau de l'accentuation mais je viens de m'apercevoir que les regex s'en foutait des accents donc ca devrait tout résoudre
je vous tient au courant
[edit : argh non faux espoir
]
Le principal problème était au niveau de l'accentuation mais je viens de m'apercevoir que les regex s'en foutait des accents donc ca devrait tout résoudre
je vous tient au courant
[edit : argh non faux espoir
Dernière édition par vin-moi le Lun Juin 25, 2007 13:56, édité 1 fois.
-

Joe Le Mort - WRInaute occasionnel

- Messages: 260
- Inscription: 8 Aoû 2006
quel est ton probleme avec les accents ?
- vin-moi
- WRInaute occasionnel

- Messages: 391
- Inscription: 22 Nov 2004
Et bien c'est simple,
je fait par exemple quelque chose comme :
$texte = preg_replace("#(test)#", "[\\1]", $texte);
Ceci devrait me remplacer les mot "test" present dans le texte par "[test]". Mais j'aimerai aussi que les mots "tést" ou "tèst" puisse entre remplacés !
Il y a peu être une option pour ca ?
je fait par exemple quelque chose comme :
$texte = preg_replace("#(test)#", "[\\1]", $texte);
Ceci devrait me remplacer les mot "test" present dans le texte par "[test]". Mais j'aimerai aussi que les mots "tést" ou "tèst" puisse entre remplacés !
Il y a peu être une option pour ca ?
- vin-moi
- WRInaute occasionnel

- Messages: 391
- Inscription: 22 Nov 2004
Sinon l'idée serait d'avoir un regex dans ce genre :
$texte = preg_replace("#(t[eéêè]+st)#", "-\\1-", $texte);
donc remplacer automatiquement les voyelles par leurs possibilités avec accent ou pas, mais je me demande si y'a pas plus simple/ moins lourd ?
$texte = preg_replace("#(t[eéêè]+st)#", "-\\1-", $texte);
donc remplacer automatiquement les voyelles par leurs possibilités avec accent ou pas, mais je me demande si y'a pas plus simple/ moins lourd ?
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Nouveautés dans l'API Google Analytics (Septembre 2009) - 19-09-2009
- Google lance Picasa en français - 20-09-2005
- Google Deskbar : la recherche sur votre bureau - 07-11-2003
- Une icone pour afficher des plans dans les résultats de Google (Plus Box) - 13-12-2006
- Keyword Search Engine : le choix des bons mots-clés - 09-08-2004
- 2 nouvelles pages sur WebRankInfo - 09-03-2003
- La presse parle de WebRankInfo... - 30-05-2003
- L'algorithme BlockRank - 19-03-2003
Consultez la description détaillée des produits ou services de Google suivants : Gmail Notifier
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
