Ereg et Replace()
Publié : ven. 07/nov./2008 11:54
Bonjour, je voudrais savoir si les expressions regulieres ont bien les fonctions avancees de remplacement de chaine :
Normallement avec les eReg, on peut creer des groupes (catcher) a l'aide de parentheses. Et donc je voudrais faire un ReplaceRegularExpression() avec comme motif de remplacement, un bout de ce qui a ete capture.
En PHP on peut utiliser les symboles '\\x' ou x represente l'index du goupe a remplacer.
Voila mon code :
Ca ne marche pas: Chaque balise ouvrante ayant des parametres est remplacee par "<\\1>".
Quelqu'un sait si c'est possible en PB et dans ce cas, quel est le symbol de catch ?
Merci d'avance
/Lio
Normallement avec les eReg, on peut creer des groupes (catcher) a l'aide de parentheses. Et donc je voudrais faire un ReplaceRegularExpression() avec comme motif de remplacement, un bout de ce qui a ete capture.
En PHP on peut utiliser les symboles '\\x' ou x represente l'index du goupe a remplacer.
Voila mon code :
Code : Tout sélectionner
Procedure.s Ereg_Replace(Text$, Pattern$, Replace$ = "", Options.l = #PB_RegularExpression_DotAll | #PB_RegularExpression_Extended | #PB_RegularExpression_AnyNewLine)
hRegex = CreateRegularExpression(#PB_Any, Pattern$, Options)
If hRegex
Text$ = ReplaceRegularExpression(hRegex, Text$, Replace$)
FreeRegularExpression(hRegex)
Else
Debug "Can't create a Regex with this pattern : " + Pattern$
EndIf
ProcedureReturn Text$
EndProcedure
; Code HTML : enleve les preprietes des balises (id, class, name, onXXX, ...)
Text$ = Ereg_Replace(Text$, "<([a-zA-Z]+)\ *[^>]+>", "<\\1>")
Quelqu'un sait si c'est possible en PB et dans ce cas, quel est le symbol de catch ?
Merci d'avance
/Lio