Ayuda: funciones del analizador
![]() |
Esta página describe las funciones del analizador que se pueden ingresar en wikicode para procesar cadenas y números. Son especialmente útiles para crear plantillas . Las funciones del analizador también pueden usar variables de Mediawiki .
Algunos son proporcionados por la extensión MediaWiki ParserFunctions y tienen sintaxis:
{{#nombredefunción: argumento 1 | argumento 2 | argumento 3 ...}}
Otras son funciones básicas de MediaWiki y generalmente tienen sintaxis:
{{nombre de función: argumento}}
Los espacios alrededor de {{
, }}
y |
no son relevantes en la sintaxis, así que por ejemplo {{ #nomefunzione: argomento 1 | argomento 2 }}
es equivalente a {{#nomefunzione:argomento 1|argomento 2}}
.
Se pueden realizar funciones más complejas que estas mediante módulos .
expr
La función expr
procesa operaciones matemáticas. Los operadores admitidos, en orden de precedencia, son:
Operador | Operación | Ejemplo |
---|---|---|
- | Negación unaria | {{#expr: - 7}} = -7 |
Exp | Exponencial | {{#expr: exp 3}} = 20.085536923188 |
en | Logaritmo natural | {{#expr: ln 100}} = 4.6051701859881 |
abdominales | Valor absoluto | {{#expr: abs -2}} = 2 |
trunc | Redondeando hacia abajo | {{#expr: trunc 1.5}} = 1 {{#expr: trunc -1.5}} = -1 |
suelo | Redondeando hacia abajo | {{#expr: piso 1.5}} = 1 {{#expr: floor -1.5}} = -2 |
Ahí está el | Redondeando | {{#expr: ceil 1.5}} = 2 {{#expr: ceil -1.5}} = -1 |
pecado , cos , bronceado | Funciones trigonométricas (en radianes) | {{#expr: sin 1}} = 0,8414709848079 |
asin , acos , atan | Funciones trigonométricas inversas | {{#expr: asin 0.5}} = 0.5235987755983 |
no | NO lógico | {{#expr: not 7}} = 0 |
^ | Exponenciación | {{#expr: 30 ^ 7}} = 21870000000 |
* | Multiplicación | {{#expr: 30 * 7}} = 210 |
/ o div | División | {{#expr: 30/7}} = 4.2857142857143 |
modificación | Módulo, devuelve el resto de una división. | {{#expr: 30 mod 7}} = 2 |
+ | Adición | {{#expr: 30 + 7}} = 37 |
- | Sustracción | {{#expr: 30 - 7}} = 23 |
ronda | Redondea al número más cercano. El segundo operando es el número de decimales; si es negativo, redondea a 10, 100 ... | {{#expr: 1.2345 ronda 2}} = 1.23 {{#expr: 1.2378 ronda 2}} = 1.24 {{#expr: 5432 ronda -2}} = 5400 |
= | Igualdad | {{#expr: 30 = 7}} = 0 |
<> o ! = | Desigualdad | {{#expr: 30 <> 7}} = 1 |
< | Menor | {{#expr: 30 <7}} = 0 |
> | Mayor que | {{#expr: 30> 7}} = 1 |
<= | Menor o igual | {{#expr: 30 <= 7}} = 0 |
> = | Mayor o igual | {{#expr: 30> = 7}} = 1 |
y | Y lógico | {{#expr: 30 y 7}} = 1 |
o | OR lógico | {{#expr: 30 o 7}} = 1 |
() | Soportes | {{#expr: (30 + 7) * 7}} = 259 |
Los números deben ingresarse en notación computarizada, sin separadores de miles y con el punto como separador decimal, p. Ej. 12345.67
; se devuelven de la misma forma a la salida. No se requieren espacios entre operadores.
Los operadores booleanos tratan 0 como falso y cualquier número distinto de cero como verdadero. En la salida, el verdadero se devuelve como 1.
Las constantes "e" (número de Euler) y "pi" (pi) están disponibles.
Ejemplo:
{{#expr: (100 - 32) / 9 * 5 ronda 0}}
devoluciones:
38
que es 100 ° F en ° C, redondeado al número entero más cercano.
Las páginas que contienen errores en las funciones expr (expresiones mal formadas, división por cero ...) se colocan en Categoría: Páginas con errores en las expresiones .
si
La función if
es una construcción if-then-else. Sintaxis:
{{#if: <condición> | <luego texto> | <de lo contrario, texto> }}
Si la condición consiste en una cadena vacía o un espacio, entonces se considera falsa y, de lo contrario, se devuelve texto . Si no es así, se devuelve el texto . de lo contrario, se puede omitir el texto : en este caso, el resultado estará vacío si la expresión es falsa.
Ejemplo:
{{Plantilla | parámetro = algo}} {{Plantilla}} {{Plantilla | parámetro =}} | | | | | | | | | {{#if: {{{parámetro |}}} | Se indica el parámetro. | El parámetro no está indicado o está vacío. }}
Tenga en cuenta que la función if
no admite el signo "=" ni expresiones matemáticas. {{#if: 1 = 2|sì|no}}
devolverá "yes", porque la cadena "1 = 2" no está vacía. La función if
está pensada como una función if defined
. Para comparar cadenas, use ifeq
. Para comparar números, use ifexpr
.
Para verificar que una condición u otra sea verdadera, puede escribir:
{{#if: {{{A |}}} {{{B |}}} | A o B | ni a ni B}}
Para verificar que ambas condiciones son verdaderas, puede escribir:
{{#if: {{#if: {{{A |}}} | {{{B |}}}}} | A y B | A vacío o B vacío}}
Para ver qué condiciones son verdaderas, puede escribir:
{{#if: {{{A |}}} | {{#if: {{{B |}}} | A y B | solo A}} | {{#if: {{{B |}}} | sólo B | ni a ni B}} }}
ifeq
La función ifeq
compara dos cadenas y devuelve otra cadena que depende del resultado de la comparación. Sintaxis:
{{#ifeq: <texto 1> | <texto 2> | <si son iguales, devuelve esto> | <de lo contrario, esto> }}
iferror
La función iferror
toma una cadena como entrada y devuelve otra cadena de las dos posibles; la salida depende de la cadena de entrada, si contiene un objeto HTML con class="error"
(que puede ser generado por otras funciones del analizador como #expr
y #time
o por plantilla) se devuelve el primero, de lo contrario el segundo.
{{#iferror <cadena> | <si la cadena devuelve un error> | <si la cadena es correcta> }}
Se puede poner una o ambas cadenas salientes. Si se omite la cadena a escribir en caso de que la cadena de entrada sea exacta, se devuelve el valor de la cadena de entrada. Si la cadena que se va a escribir se omite en caso de que la cadena de entrada sea incorrecta, se devuelve una cadena vacía en la salida:
{{#iferror: {{#expr: 1 + 2 }} | errore | corretta }}
→ correcto{{#iferror: {{#expr: 1 + X }} | errore | corretta }}
→ error{{#iferror: {{#expr: 1 + 2 }} | errore }}
→ 3{{#iferror: {{#expr: 1 + X }} | errore }}
→ error{{#iferror: {{#expr: 1 + 2 }} }}
→ 3{{#iferror: {{#expr: 1 + X }} }}
→{{#iferror: <strong class="error">a</strong> | errore | corretta }}
→ error
ifexpr
La función ifexpr
resuelve una expresión matemática y devuelve un texto basado en el resultado.
{{#ifexpr: <expresión> | <luego texto> | <de lo contrario, texto> }}
Si la expresión coincide, entonces se devuelve el texto, de lo contrario se devuelve el texto. La sintaxis de las expresiones es la misma que en expr
.
si existe
ifexist
devuelve uno de dos resultados, en función de si existe o no una página determinada en it.wiki.
El primer parámetro es el título que se buscará, el segundo es el resultado que se devolverá si la página existe y el tercero es el resultado que se devolverá si la página no existe. Si el primer parámetro no es un título válido, la función devuelve el resultado negativo.
-
{{#ifexist:Biologia|La voce [[biologia]] esiste!|La voce [[biologia]] non esiste.}}
- devuelve "¡La entrada de biología existe!" porque la biología existe.
-
{{#ifexist:Aiuto:Funzioni parser|Sì|No}}
- devuelve "Sí".
-
{{#ifexist:m:Help:Calculation|Sì|No}}
- devuelve "No", a pesar de la existencia dem: Ayuda: Cálculo , debido al prefijo interwiki.
NB : ifexist es una función cara
Existencia de archivos
ifexist
también le permite probar la disponibilidad de un archivo, en este caso independientemente de si es local o en Commons , indicando el archivo con el espacio de nombres virtual Media
Por el contrario, con File
, Immagine
o Image
probamos la existencia local de la página de descripción del archivo.
Como esto:
-
{{#ifexist: Media: Example.png | il file esiste su Commons o in locale | il file non esiste né su Commons né in locale }}
- devuelve "el archivo existe en commons o localmente"
En lugar de:
-
{{#ifexist: File:Example.png | esiste una pagina locale | non esiste una pagina locale }}
- devuelve "no hay una página local"
cambiar
La función de switch
compara una cadena con otras, devolviendo una cadena dada si encuentra una coincidencia. Sintaxis:
{{#switch: <valor de comparación> | <valor 1 > = <resultado 1 > | <valor 2 > = <resultado 2 > | ... | <valor n > = <resultado n > | # default = <resultado predeterminado> }}
switch
buscará a través de todos los valores dados hasta que encuentre una coincidencia. Cuando se encuentra una coincidencia, se devuelve el resultado asignado a ese valor (el texto después del signo igual). Si no se encuentra ninguna coincidencia, pero el último elemento no tiene un signo igual, se devolverá como el valor predeterminado.
También es posible asignar un resultado a varios valores, evitando la duplicación de texto. Por ejemplo:
{{#switch: <valor de comparación> | <valor 1 > | <valor 2 > | <valor 3 > = <resultado 3 > | ... | <valor n > = <resultado n > | # default = <resultado predeterminado> }}
Tenga en cuenta que el valor 1 y el valor 2 no contienen el símbolo igual. Si se encuentra una coincidencia, se devolverá el resultado al que se le asignó un valor de 3 (resultado 3 ).
Formateo
Distingue mayúsculas y minúsculas
sumario rápido:
- Primera capitalización:
{{ucfirst:}}
-Funzioni parser
- primera minúscula:
{{lcfirst:}}
-funzioni parser
- TODAS LAS MAYÚSCULAS:
{{uc:}}
-FUNZIONI PARSER
- todo en minúsculas:
{{lc:}}
-funzioni parser
lc
Minúsculas acrónimo (en minúsculas): transforma el texto en caracteres en minúscula.
Con {{lc:AbCdEf}}
obtienes abcdef.
Con {{lc:Ä Β Ç}}
obtenemos ä β ç, dado ä β ç.
uc
Acrónimo en mayúsculas (mayúsculas): transforma un texto en mayúsculas.
Con {{uc:AbCdEf}}
obtienes ABCDEF.
Con {{uc:ä β ß}}
obtenemos Ä Β ß.
lcfirst
Acrónimo de minúscula primero (primera minúscula): transforma el primer carácter de un texto en minúscula: con {{lcfirst:Ab Cd}}
obtienes ab Cd.
ucfirst
Siglas para mayúsculas primero (primera letra mayúscula): transforma el primer carácter de un texto en letras mayúsculas: con {{ucfirst:aB cD}}
obtienes AB cD.
formatnum
Agregue separadores de separador decimal y de miles a un número puro.
Los separadores de mil se insertan solo en la parte entera (antes de la coma), no en la parte fraccionaria (después de la coma).
El número dado en la entrada debe ingresarse en notación de computadora, sin separadores de miles y con el punto como separador decimal, ej. 12345.67
, como los dados en entrada y devueltos en salida por #expr .
Con {{formatnum:1234.56}}
obtenemos 1 234.56
Con {{formatnum:1234567.8901234}}
obtenemos 1 234 567,8901234
La presencia de notas junto con el número no da problemas, se ignoran y se devuelven tal cual.
Los caracteres no numéricos, excluidos los separadores, también se ignoran y conservan. Sin embargo, esta práctica está obsoleta y hace que la página se coloque en la Categoría: Páginas con argumentos de número de formato no numérico .
Con {{formatnum:''I numeri sono 1234 e 5678<ref>Prova.</ref>''}}
obtienes Los números son 1 234 y 5 678 [1]
Puede hacer esto de la otra manera agregando R como el segundo parámetro: con {{formatnum:1 234 567,89|R}}
obtiene 1 234 567.89 (los espacios no son espacios normales sino espacios que rompen caracteres).
padleft y padright
Agrega caracteres de relleno a la izquierda, lo que hace que la cadena tenga una longitud fija. Sintaxis:
{{padleft: string | longitud | relleno}}
Con {{padleft:ciao|10|+-}}
obtienes +-+-+-ciao
padright
tiene el mismo efecto pero llena el lado derecho. Ejemplo: {{padright:ciao|10|+-}}
genera: ciao+-+-+-
padleft
o padright
se pueden usar para obtener los primeros N caracteres de una cadena de longitud ≥ N: con {{padleft:|3|Tizio}}
obtienes Tiz
plural
Muestra una cadena diferente dependiendo de si el argumento es "1" o un número mayor.
{{plural: N | singular | plural}}
Con {{plural:3|casa|case}}
obtenemos case
El valor predeterminado con un parámetro vacío o no reconocido es "plural". "1" seguido de otras palabras y "-1" se reconocen como singulares.
tiempo
La función de time
es una construcción para formatear la hora. Sintaxis:
{{#time: format }}
o
{{#hora: formato | tiempo }}
Si no se especifica un valor para la hora , se utiliza la fecha y la hora de la conversión de la página a HTML (en hora universal coordinada ). Tenga en cuenta que debido al mecanismo de almacenamiento en caché, este valor puede diferir considerablemente del momento en que se muestra la página. Para actualizar el valor es necesario guardar la página (sin haberla modificado, es decir haciendo un "editar nulo"), o mostrarla solicitando la limpieza de la caché ( &action=purge
agregado a la url) o seleccionar la opción que deshabilita el almacenamiento en caché de las páginas en sus preferencias.
La función #timel
es análoga a #time
, pero usa la zona horaria local de it.wiki ( UTC + 1 con posible horario de verano ) en lugar de la hora universal coordinada.
Parámetro de formato
El parámetro de formato es una cadena que usa una sintaxis similar a la que se usa en las fechas en PHP [2] .
formato rápido
-
-{{#timel:j FY}}
17 agosto 2021
-
-{{#timel:Ymd}}
2021-08-17
-
-{{#timel:lj FYG:s}}
martedì 17 agosto 2021 2:19
-
-{{#timel:D j MY h:sa}}
mar 17 ago 2021 02:19 am
-
-{{#timel:Ymd H:s}}
2021-08-17 02:19
Parámetro | Descripción | salida equivalente con | Variables equivalentes | ||
---|---|---|---|---|---|
# tiempo | # timel | Hora UTC | Hora local | ||
Año | |||||
Y | en 4 dígitos | 2021 | 2021 | {{AÑO CORRIENTE}} | {{LOCALYEAR}} |
y | en 2 dígitos | 21 | 21 | - | - |
L | 1 si salto, 0 en caso contrario | 0 | 0 | - | - |
Mes | |||||
F. | Nombre completo | agosto | agosto | {{CURRENTMONTHNAME}} | {{LOCALMONTHNAME}} |
METRO. | Nombre corto | aguja | aguja | {{CURRENTMONTHABBREV}} | {{LOCALMONTHABBREV}} |
metro | Número de mes (01 - 12) | 08 | 08 | {{MES ACTUAL}} | {{LOCALTMONTH}} |
norte | Número de mes (1 - 12) | 8 | 8 | ||
t | Número de días del mes | 31 | 31 | ||
Día | |||||
D | Día del mes (01 - 31). | 17 | 17 | {{CURRENTDAY2}} | {{LOCALDAY2}} |
j | Día del mes (1 - 31). | 17 | 17 | {{DÍA ACTUAL}} | {{LOCALDAY}} |
z | Día del año (0 - 364 [3] ) | 228 | 228 | ||
L | Nombre completo | martes | martes | {{CURRENTDAYNAME}} | {{LOCALDAYNAME}} |
D. | Nombre corto | mar | mar | ||
No. | ISO 8601 día de la semana (1 (lunes) - 7 (domingo)) | 2 | 2 | {{SEMANA ACTUAL}} | {{LOCALWEEK}} |
w | Día de la semana (0 (domingo) - 6 (sábado)) | 2 | 2 | ||
Semanas | |||||
W | Semana del año (01 - 52) | 33 | 33 | {{SEMANA ACTUAL}} | {{LOCALWEEK}} |
Horas | |||||
H: si | Hora: minutos (00:00 - 23:59) | 00:24 | 02:24 | {{TIEMPO ACTUAL}} | {{HORA LOCAL}} |
H. | Formato de hora 24 horas (00-23) | 00 | 02 | {{HORA ACTUAL}} | {{HORA LOCAL}} |
GRAMO. | Formato de 24 horas (0-23) | 0 | 2 | ||
h | Formato de hora de 12 horas (01 - 12) | 12 | 02 | ||
gramo | Formato de hora de 12 horas (1 - 12) | 12 | 2 | ||
para | am o PM | soy | soy | ||
PARA | Am o PM | SOY | SOY | ||
los | El minuto (00 - 59) | 24 | 24 | ||
s | El segundo (00 - 59) | 19 | 19 |
Los caracteres no reconocidos no se modifican. Existen dos técnicas para evitar procesar caracteres insertados en cadenas de descripción:
- incluir lo mismo entre comillas dobles (no se considerarán las comillas simples)
- Correcto:
{{ #time: "Attualmente è" F}}
→ Actualmente es agosto - Incorrecto:
{{ #time: Attualmente è F}}
→ AM3131uMonday08UTC831UTC es agosto -
{{ #time:G:i's"}}
simples:{{ #time:G:i's"}}
→ 0: 24'19"
- Correcto:
- Utilice el carácter de escape "\".
-
→ H{{ #time:\H}}
-
→"{{ #time:\"}}
-
Parámetro de tiempo
El formato del parámetro de tiempo es idéntico al utilizado por la función strtotime () de PHP. Admite fechas absolutas y relativas. Las fechas deben estar en inglés, es decir, "11 de diciembre" y no "11 de diciembre" y "+10 horas" y no "+10 horas". Esta función se puede utilizar para la gestión de "zonas horarias" o para la conversión de la hora UTC utilizada por defecto a la hora CET o CEST utilizada en Italia. Para obtener más información, consulte el manual tar de GNU .
Ejemplos de
-
{{#time:G:i's"|+1 hours}}
→ 1: 24'19" devuelve CET (hora estándar) -
{{#time:G:i's"|+2 hours}}
→ 2: 24'19" devuelve la hora CEST (horario de verano) -
{{#time:j FY|-14 days}}
devuelve el 3 de agosto de 2021 (hace 14 días) -
{{#time:H:i|+6 hours}}
devuelve 06:24 (6 horas más UTC ) -
{{#time:H:i|8:15 +6 hours}}
devuelve 14:15 -
{{#time:m/Y|-1 months}}
devuelve 07/2021 (hace 1 mes) -
{{#time:d/m|25 dicembre}}
devuelve Error: hora no válida. (25 de diciembre) -
{{#time:d/m|December 25}}
devuelve 25/12 (25 de diciembre)
"-1" y "último" son equivalentes, al igual que "+1" y "siguiente".
Rango de validez
El rango de fechas que esta función maneja correctamente es desde 1970-1-1 00:00:01 hasta 2038-1-19 03:14:07 (1 a 2 31 segundos desde principios de 1970).
Rutas
urlencode
Convierta texto a formato compatible con URL reemplazando espacios con "+" y otros caracteres de formato de URL con sus equivalentes: {{urlencode:hello world ?&=#/:}}
Yields hello + world +% 3F% 26% 3D% 23 % 2F% 3A.
rel2abs
Convierte una ruta, ya sea una URL o el título de una subpágina de Wikipedia, de relativa a absoluta. Sintaxis:
{{# rel2abs: ruta relativa | ruta base}}
El primer parámetro, como en las rutas de carpeta de Windows / Unix, puede contener una combinación de:
-
.
(ruta actual) -
..
(nivel superior) -
/nome
(nombre de la subpágina)
El segundo parámetro, si se omite, es el título de la página actual.
Con {{#rel2abs: ../cccc | aaaaa/bbb }}
da como resultado aaaaa/cccc
titleparts
Extrae de una ruta, ya sea una URL o el título de una subpágina de Wikipedia, los componentes de diferentes niveles separados por "/". Sintaxis:
{{#titleparts: ruta | número de piezas | parte inicial}}
El valor predeterminado es "todos" para el número de piezas y 1 para la pieza inicial. Los números negativos le permiten contar desde la parte inferior (derecha).
Con {{#titleparts: aaaa/bbb/cc/ddd/ee | 3 | 2 }}
obtienes bbb/cc/ddd
Con {{#titleparts: https://wikipedia.org/yyy/zz | 3 | 1 }}
obtienes Https://wikipedia.org (el // cuenta como dos niveles)
Admite un máximo de 25 niveles y 255 caracteres y no funciona con algunos caracteres. Se recomienda usarlo solo con rutas y no para otros "trucos".
etiqueta
La función de tag
genera una etiqueta XML específica de wikicode, como <ref> o <gallery>, incluida la etiqueta de cierre. Sintaxis:
{{#tag: <nombre de etiqueta> | <contenido> | <atributo1> = <valor1> | <attribute2> = <value2> ...}}
Ejemplo:
{{#tag: ref | Contenido | nombre = Nombre}}
Es equivalente a <ref name="Nome">Contenuto</ref>
y devuelve: [4]
La función es particularmente útil cuando una plantilla necesita generar una etiqueta que también contiene wikicode complejo, porque asegura que la etiqueta se procesa después de su contenido (de lo contrario, es posible que el contenido no funcione). También garantiza que las etiquetas presentes en el código no ejecutado (como la parte negada de un #if) no se procesen falsamente.
Otro
- invocar
- ver Ayuda: Formularios
- propiedad
- ver Ayuda: Wikidata
- género
- Normalmente se utiliza en plantillas de alertas de usuario. Dado un nombre de usuario, devuelve una cadena diferente según el género del usuario, si se especifica en sus preferencias. Sintaxis
{{género: nombre | hombre | femenino | extraño }}
Si no especifica un texto para "desconocido", el valor predeterminado es masculino. Si el nombre está vacío, use el usuario actual.
Funciones onerosas
Algunas funciones y variables son caras , es decir, su cálculo requiere un "esfuerzo" relativamente alto para el sistema. Suelen ser funciones y variables que solicitan información sobre otra página, como ifexist. También hay un límite en el número de estas funciones que se pueden llamar desde una página; si lo pasa, las llamadas dejan de funcionar y la página se coloca en Categoría: Páginas con demasiadas llamadas a las funciones del analizador .
Por lo tanto, no exagere el uso de estas funciones, especialmente en las plantillas que se incluyen muchas veces en la misma página. En general, las funciones correspondientes disponibles en Lua son igualmente caras, por lo que los módulos no resuelven el problema.
Nota
- ^ Pruébelo.
- ^http://www.php.net/date
- ^ 0 - 365 para años bisiestos
- ^ Contenido
Páginas relacionadas
Otros proyectos
Para obtener información técnica completa y actualizada:
-
Wikisource contiene una página sobre funciones del analizador
-
Wikiquote contiene citas sobre las funciones del analizador
-
Wikilibros contiene textos o manuales sobre funciones del analizador
-
Wikiversity contiene recursos sobre funciones de analizador
-
Mediawiki contiene información sobre las funciones del analizador