|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Boris conception et traitement de documents xhtml Inscription : août 2011 Messages : 107 ![]() |
Bonjour,
Pouvez-vous m'aider s'il vous plaît ? Dans une partie d'une regex je dois extraire une chaîne comprise entre guillemets contenant un mot particulier, par exemple extraire la chaîne "mot1 mot2 schtroumpf mot3" contenant le mot "schtroumpf". Je ne connais a priori ni la position du mot, ni le nombre et la composition des mots qui l'encadrent. Ces différentes chaînes doivent donc pouvoir être extraites : "schtroumpf" "mot1 schtroumpf" "schtroumpf mot1 mot2" "mot1 schtroumpf mot2 mot3" etc Pouvez-vous m'indiquer comment je dois libeller ma regex car je n'y arrive pas, malgré mes nombreux essais en tout genre ? Grand merci d'avance |
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
T'as de la chance que j'aime bien les schtroumpf, surtout la Schtroumpfette
Si tu veux pouvoir la trouver en recherchant un schtroumpf, tu peux faire : Code :
Code :
Si tu veux éviter que la regex se goinfre trop car elle est gourmande par défaut, ajoute l'option U derrière le dernier délimiteur '#". Et pour faire bonne mesure tu peux aussi mettre un "i" pour une recherche insensible à la casse, soit : Code :
if (preg_match('#".*\b'.$recherche.'\b.*"#Ui',$chaine,$result)) print_r($result); LE site de référence (en français).
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||||
|
|
10
|
|
|
#3 |
|
Membre du Club
![]() Boris conception et traitement de documents xhtml Inscription : août 2011 Messages : 107 ![]() |
Merci, merci, merci
J'avais dans mes essais complètement oublié le délimiteur de mot \b. Je peux donc aussi trouver des expressions comme "schtroumpf dans schtroumpfette" ! (A vous de deviner ce qu'il y fait...) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com