El filtro |replace
utiliza una expresión regular [1] para suprimir o reemplazar todas las ocurrencias de un patrón en la baliza.
Utilizado con un solo parámetro, una expresión regular, el patrón será suprimido.
Por ejemplo, para suprimir todos los "notaXX" del texto [(#TEXTE|replace{nota\d*})]
.
Cuando se le proporciona un segundo parámetro al filtro, las ocurrencias del patrón serán reemplazadas por este valor.
Por ejemplo, para reemplazar todos los «2005» o «2006» del texto por «2007»:
[(#TEXTE|replace{200(5|6), 2007})]
Los argumentos del filtro pueden ser solamente textos simples:
reemplazar todos los «en tiempo» por «a tiempo» : [(#TEXTE|replace{en tiempo, a tiempo})]
También se le puede pasar un tercer parámetro al filtro. Corresponderá entonces a las opciones (o modificadores) a aplicar a la expresión regular:[(#TEXTE|replace{^esto$, aquello, UimsS})]
Atención :
No es posible declarar una clase de caracteres como argumento del filtro: |replace{[0-9]+}
producirá un error de compilación debido a la presencia de los corchetes [
y ]
,
No obstante, es posible escribir expresiones regulares complejas utilizando las clases de caracteres y definiéndolas previamente:
#SET{ma_regexp, ^[[:space:]]*([0-9]+)([.)]|Â?°)[[:space:]]+}
[(#DESCRIPTIF|replace{#GET{ma_regexp}, __, Uims})]
Leer también: el filtro |match