[PHP] l'utilisation des expression régulières
Fermé
Medmidou
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
11 mai 2008
-
29 sept. 2007 à 10:07
Elodie - 18 oct. 2007 à 16:00
Elodie - 18 oct. 2007 à 16:00
A voir également:
- [PHP] l'utilisation des expression régulières
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expression de recherche - Guide
- Dossier en cours d'utilisation - Forum Windows 8 / 8.1
2 réponses
Bonjour,
[b]TUN9000-4/8c1[/b]
TUN9000-15/1
TUN9043-16/2
TUN9043-15/12
TUN9009-1/2
[b]TUN9009-2/24c01[/b]
tu fais un délimiteur pour chaque main route et dans chacun,
je pense que cette expression peut fonctionner "![/b](.*)[b]!"
! équivaut à \
() ce que tu veux récupérer
[b]TUN9000-4/8c1[/b]
TUN9000-15/1
TUN9043-16/2
TUN9043-15/12
TUN9009-1/2
[b]TUN9009-2/24c01[/b]
tu fais un délimiteur pour chaque main route et dans chacun,
je pense que cette expression peut fonctionner "![/b](.*)[b]!"
! équivaut à \
() ce que tu veux récupérer
vignemail1
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
259
29 sept. 2007 à 10:16
29 sept. 2007 à 10:16
Déjà regarde, dans les regex, \b qui désigne un début/fin de mot, cela pourrait t'aider je pense.
A mon avis tu est mieux à détecter les ***** MAIN ROUTE ***** et autre, sauter la ligne vide, la ligne inutile, stocker la liste des lignes suivantes jusqu'à ligne vide, et faire le traitement jusqu'à l'avant dernière ligne de donnée.
Je te disais \b :
ainsi cela devrait détecter la fin du mot précédant, puis faire sauter tous les espaces.
Exemple: Trouve le mot "web"
A mon avis tu est mieux à détecter les ***** MAIN ROUTE ***** et autre, sauter la ligne vide, la ligne inutile, stocker la liste des lignes suivantes jusqu'à ligne vide, et faire le traitement jusqu'à l'avant dernière ligne de donnée.
Je te disais \b :
(preg_match("#\b:space:*$#",$donnee[$i])){$donnee[$i]=preg_replace("#\b:space:*$#","",$donnee[$i]);
ainsi cela devrait détecter la fin du mot précédant, puis faire sauter tous les espaces.
Exemple: Trouve le mot "web"
<?php /* \b, dans le masque, indique une limite de mot, de façon à ce que le mot "web" uniquement soit repéré, et pas seulement des parties de mots comme dans "webbing" ou "cobweb" */ if (preg_match("/\bweb\b/i", "PHP est le meilleur langage de script du web.")) { echo 'Un mot a été trouvé.'; } else { echo 'Un mot n\'a pas été trouvé.'; } if (preg_match("/\bweb\b/i", "PHP est le meilleur langage de script pour les webagency.")) { echo 'Un mot a été trouvé.'; } else { echo 'Un mot n\'a pas été trouvé.'; } ?>
Medmidou
Messages postés
38
Date d'inscription
samedi 18 juin 2005
Statut
Membre
Dernière intervention
11 mai 2008
2
29 sept. 2007 à 11:14
29 sept. 2007 à 11:14
même problème, lorsquej'utilise le code avec "\b", j'obtiens le résultat suivant :
TUN9000-4/8c1TUN9000-15/1TUN9043-16/2TUN9043-15/12TUN9009-1/2TUN9009-2/24c01
TUN9000-4/8c1TUN9000-15/1TUN9043-16/2TUN9043-15/12TUN9009-1/2TUN9009-2/24c01