El filtre |replace
utilitza una expression rationnelle [1] per suprimir o substituir les ocurrències d’un patró a l’etiqueta.
Utilitzada amb un sol paràmetre, una expressió regular, el patró serà suprimit.
Per exemple, per suprimir totes les "notaXX" del text [(#TEXTE|replace{nota\d*})]
.
Quan es proporciona un segon paràmetre al filtre, les ocurrències del patró seran substituïdes per aquest valor.
Per exemple, per substituir tots els «2005» o «2006» del text per «2007»:
[(#TEXTE|replace{200(5|6), 2007})]
.
Els arguments del filtre poden ser només textos simples:
substituir tots els «au temps» per «autant»: [(#TEXTE|replace{au temps, autant})]
Encara podem passar un tercer paràmetre al filtre. Correspondrà llavors a les opcions (o modificadors) l’aplicació de l’expressió regular:[(#TEXTE|replace{^ceci$, cela, UimsS})]
Atenció:
Si no és possible declara una classe de caràcters com argument del filtre: |replace{[0-9]+}
donarà un error de compilació per culpa de la presència de claudàtors [
i ]
,
No obstant, és possible escriure expressions regulars utilitzant les classes de caràcters definides prèviament:
#SET{ma_regexp, ^[[:space:]]*([0-9]+)([.)]|Â?°)[[:space:]]+}
[(#DESCRIPTIF|replace{#GET{ma_regexp}, __, Uims})]
Llegir també: el filtre |match