Ces satanées expressions régulières... - PHP - Programmation
Marsh Posté le 22-12-2003 à 15:05:33
J'avais comme idée ceci:
Code :
|
Evidemment ca marche pas...
Marsh Posté le 22-12-2003 à 15:40:58
Bon.. Decidemment je n'ai rien compris du tout...
En testant la base, je m'apperçois que ca marche pas...
Code :
|
Techniquement ceci ne devrait me placer dans le tableau tab chaque mot de ma chaine ?
Marsh Posté le 23-12-2003 à 11:12:28
Arrrrrrrggrrrrr Aidez-moi.. Ca fait des heures que je cherche et ca marche pas....
Pourquoi:
Code :
|
Ne marche pas !!!!!
Elle est où mon erreur....
Flute de Zut de M..de
Marsh Posté le 23-12-2003 à 11:23:11
essaye comme ça plutot:
Code :
|
Marsh Posté le 23-12-2003 à 12:12:31
Ok ca ca marche, merci ... Je ne sais pas la différence ntre
pref_match_all et ereg bon....
Si je complique un peu l'expression par "c([a-z]*)" ca ne fonctionne plus, pourquoi ?
théoriquement je devrais avoir comme résultat: chaine et caractère...
Marsh Posté le 23-12-2003 à 12:13:17
Kalios a écrit : Ok ca ca marche, merci ... Je ne sais pas la différence ntre |
Marsh Posté le 23-12-2003 à 12:16:10
désolé j'ai oublié un truc dans mon code
Code :
|
ce qui dans ton deuxieme cas devient:
Code :
|
edit: on peut pas mettre du gras entre les balises cpp?
Marsh Posté le 23-12-2003 à 12:17:44
Code :
|
Pas la peine de tester <!-- et --> puisque sans ça marche aussi !
Marsh Posté le 23-12-2003 à 12:27:50
mara's dad a écrit :
|
Faut que je test tout ca...
L'idée de tester <!-- et --> est de pouvoir éliminer ces balises de commentaires lors du templacement de chaine
Marsh Posté le 23-12-2003 à 12:30:13
Qu'es-ce que le / dans l'expression régulière ?
Marsh Posté le 23-12-2003 à 12:30:35
Ben j'ai pas trouvé de truc simple pour inclure <!-- et -->.
Utiliser 2 patterns. La première avec et si çà foire, ben sans
Marsh Posté le 23-12-2003 à 12:33:21
Kalios a écrit : Qu'es-ce que le / dans l'expression régulière ? |
C'est le délimiteur, comme le ' ou " pour une chaîne.
Après le délimiteur, tu peux mettre des codes qui modifient le fonctionnement du pattern
Par exemple i pour 'case insensitive'
/toto/i
Va matcher toto, mais aussi Toto ou TOTO, ToTo...
Y'en à d'autres, faut lire la doc
Marsh Posté le 23-12-2003 à 12:58:30
Ok ca me parait plus clair qu'avant...
Je vous ennuie encore une dernière fois:
Je peux avoir dans une chaîne les balises suivantes:
<!--[baliseName]-->
[baliseName]
<!--[baliseName=value]-->
[baliseName=value]
[baliseName= value]
<!--[baliseName= "value"]-->
<!--[baliseName="value"]-->
[baliseName="value"]
[baliseName= "value"]
donc:
le <!-- avec le --> est facultatif
le " avec le " est facultatif
et le value est facultatif aussi...
Comment puis-je faire pour faire des condition ?
Dois-je faire plusieurs expressions régulières et tester plusieurs fois la chaine ?
Marsh Posté le 23-12-2003 à 13:07:21
perso je le ferais en deux fois, tu récupères tout ce qui est entre crochet, et après tu split le résultat sur le = .
Mais en une seule regex c'est jouable ça doit donner un truc comme ça:
Code :
|
Attention à pas s'embrouiller entre les resultats dans les différents tableaux.
Marsh Posté le 22-12-2003 à 14:58:18
Novice en la matière d'ereg, je souhaiterai rechercher dans une chaîne la syntaxe suivante:
Débutant par : '<!--[' ou '['
Finissant par: ']-->' ou ']'
contenant : 'value1="value2"'
il peut y avoir des espaces après et avant l'egal ainsi qu'au début et à la fin du contenu.
Je veux pouvoir retourner dans un tableau value1 et value2 ces valeurs peuvent contenir 'a'-'z' ou 'A'-'Z' ou '_' ou '-'
puis en fin de compte, je souhaite en fonction de value1 et de value2 remplacer la chaîne complete recherchée par une valeur value3...
Pouvez-vous m'aider ?
---------------
.:coin:.