|replace

  • Apparu en : SPIP 1.4

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

Notes

[1no dubteu en consultar la pàgina de la Wikipedia dedicada: Expression_rationnelle

Autor merce Publié le : Mis à jour : 26/10/12

Traductions : català, English, Español, français, Nederlands