Aiuto:Funzioni parser

Questa estensione MediaWiki è una raccolta di funzioni parser. Sintassi:



Questa estensione supporta le funzioni: expr, if, ifeq, ifexpr e switch.

expr
La funzione expr elabora operazioni matematiche. Gli operatori supportati (in ordine di precedenza) sono:
 * {| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"

! Operatore ! Operazione ! Esempio ! * ! / oppure div ! + ! - ! mod ! round di cifre decimali indicato dal numero a destra ! = ! <> oppure != ! < ! > ! <= ! >= ! and ! or ! not ! Gli operatori booleani considerano 0 come falso e 1 come vero.
 * Moltiplicazione
 * Divisione
 * Addizione
 * Sottrazione (o negazione)
 * Modulo, restituisce il resto di una divisione
 * Arrotonda il numero a sinistra con il numero
 * Uguaglianza
 * Disuguaglianza
 * Minore
 * Maggiore
 * Minore o uguale
 * Maggiore o uguale
 * AND logico
 * OR logico
 * NOT logico
 * Parentesi
 * }
 * }

Esempio:

restituisce:

che è 100°F in °C, arrotondato al numero intero più vicino.

if
La funzione if è un costrutto if-then-else. Sintassi:

Se la condizione consiste in una stringa vuota o uno spazio bianco, allora è considerata falsa, e viene restituito altrimenti testo. Altrimenti, viene restituito allora testo. altrimenti testo può essere omesso: in tale caso il risultato sarà vuoto se l'espressione è falsa.

Esempio: |                       |                |                                      |                        |                |                                      |                        |                |

Notare che la funzione if non supporta il segno "=" o espressioni matematiche. restituirà "sì", perché la stringa "1 = 2" non è vuota. La funzione if</tt> è intesa come una funzione if defined</tt>. Per confrontare delle stringhe, usa ifeq</tt>. Per confrontare numeri, usa ifexpr</tt>.

ifeq
La funzione ifeq</tt> confronta due stringhe, e ritorna un'altra stringa che dipende dal risultato del confronto. Sintassi:

ifexpr
La funzione ifexpr</tt> risolve un'espressione matematica e restituisce un testo sulla base del risultato.

Se l'espressione non venisse soddisfatta, allora viene restituito altrimenti testo, in caso contrario viene restituito allora testo. La sintassi delle espressioni è la stessa di expr</tt>.

ifexist
ifexist</tt> restituisce uno dei due risultati, basandosi sull'esistenza o meno di una data pagina.


 * restituisce  perché biologia.
 * restituisce .
 * restituisce  sebbene m:Help:Calculation esista, a causa del prefisso di interwiki.

Il primo parametro è il titolo da cercare, il secondo è il risultato da restituire se la pagina esiste e il terzo è il risultato da restituire se la pagina non esiste. Se il primo parametro non è un titolo valido, la funzione restituisce il risultato negativo.

switch
La funzione  confronta una stringa con altre, restituendo una data stringa se trova una corrispondenza. Sintassi:

cercherà tra tutti i valori dati finché non trova una corrispondenza. Quando la corrispondenza viene trovata, viene restituito il risultato assegnato a tale valore (il testo dopo il segno di uguale). Se non viene trovata alcuna corrispondenza, ma l'ultimo elemento non ha il segno di uguale, verrà restituito come valore di default.

È anche possibile assegnare un risultato a più valori, evitando di duplicare testo. Per esempio:

Nota che valore1 e valore2 non contengono il simbolo uguale. Se si trovasse una corrispondenza con essi, verrebbe restituito il risultato assegnato a valore3 (risultato3).

Numeri
Nelle espressioni è consentito usare il punto decimale, e i numeri non interi restituiti dalle espressioni hanno un punto decimale. Le virgole non sono né accettate in input, né prodotte in output. Questo è valido anche se la variabile usa la virgola per le migliaia, e in alcune versioni locali di MediaWiki il punto.

Formattazione
riassunto veloce:
 * Prima maiuscola:  - </tt>
 * prima minuscolo:  - </tt>
 * TUTTO MAIUSCOLO:  - </tt>
 * tutto minuscolo:  - </tt>

lc
Acronimo di lower case (tutto minuscolo): trasforma un testo in caratteri minuscoli.

Con abcdef si ottiene abcdef.

Con ä β ç si ottiene ä β ç, atteso ä β ç.

uc
Acronimo di upper case (tutto maiuscolo): trasforma un testo in caratteri maiuscoli.

Con ABCDEF si ottiene ABCDEF.

Con Ä Β SS si ottiene Ä Β SS.

lcfirst
Acronimo di lower case first (prima minuscola): trasforma in minuscolo il primo carattere di un testo: con ab Cd si ottiene ab Cd.

ucfirst
Acronimo di upper case first (prima maiuscola): trasforma in maiuscolo il primo carattere di un testo: con AB cD si ottiene AB cD.

urlencode
Converte il testo in formato compatibile con URL sostituendo gli spazi con "+" e gli altri caratteri di formattazione url coi loro equivalenti: con si ottiene.

time
La funzione time</tt> è un costrutto per la formattazione del tempo. Sintassi:

o

Se non è specificato un valore per time viene usata la data e ora della conversione in HTML della pagina. Attenzione che a causa del meccanismo di caching questo valore può differire notevolmente dal momento in cui la pagina viene visualizzata. Per aggiornare il valore è necessario salvare la pagina (senza averla modificata, ovvero facendo un "edit nullo"), o visualizzarla richiedendo la ripulitura della cache ( &action=purge aggiunto all'url) oppure selezionare l'opzione che disabilita il caching delle pagine nelle proprie preferenze.

Parametro formato
Il parametro formato è una stringa che utilizza una sintassi simile a quella usata nelle date in PHP.

formato veloce
 * - </tt>
 * - </tt>
 * - </tt>
 * - <tt></tt>
 * - <tt></tt>

I caratteri non riconosciuti vengono lasciati inalterati. Esistono due tecniche per evitare l'elaborazione di caratteri inseriti in stringhe di descrizione:
 * racchiudere gli stessi fra doppi apici (i singoli apici non verranno considerati)
 * Corretto: →
 * Errato: →
 * Singoli apici: →
 * Utilizzare il carattere di escape "\".

Parametro time
Il formato del parametro time è identico a quello usato dalla funzione PHP strtotime. Supporta date sia assolute sia relative. Le date devono essere espresse in formato inglese ovvero "December 11" e non "11 Dicembre" e "+10 hours" e non "+ 10 ore". Questa caratteristica può essere usata per la gestione delle "timezone" ovvero per la conversione dall'orario UTC usato per default all'orario CET o CEST usato in Italia. Per ulteriori informazioni vedere the GNU tar manual.

Esempi

 * → torna l'ora CET (ora solare)
 * → torna l'ora CEST (ora legale)
 * ritorna (14 giorni fa)
 * ritorna (6 ore più UTC)
 * ritorna
 * ritorna (1 mese fa)
 * ritorna (11 dicembre)
 * ritorna (11 dicembre)

Intervallo di validità
L'intervallo di date che vengono correttamente gestite da questa funzione va dal 1970-1-1 00:00:01 fino al 2038-1-19 03:14:07 (da 1 a $$2^{31}$$ secondi dall'inizio del 1970).

Vedi anche

 * mw:Help:Extension:ParserFunctions

Collegamenti esterni

 * La discussione sulle ParserFunctions nell'archivio della lista Wikitech-l