authors (advanced)
Syntaxe {(...)}
"znakového výrazu" umožuje používat adu funkcí pro práci s etzcem a jeho formátování v rámci bžné editace obsahu stránky. Definované operace jsou substr, ftime, strlen, rand, toupper, tolower, ucfirst, ucwords, pagename, a asspaced.
Znakové výrazy (Markup Expressions byly implementovány od PmWiki 2.2.0-beta43).
substr
Markup expression "substr" extrahuje ást etzce. První parametr je zpracovávaný etzec, druhý parametr je index prvního vybíraného písmene a tetí parametr uruje poet písmen od prvního vybíraného písmene (písmena jsou v etzci indexována od nuly).
{(substr "PmWiki" 2 3)}
{(substr "PmWiki" 2)}
{(substr "PmWiki" 0 1)}
| Wik
Wiki
P
|
ftime
"Ftime" expressions se používají pro formátování data a asu. Základní podoba je:
{(ftime "fmt" "when")}
{(ftime fmt="fmt" when="when")}
kde fmt je formátovací etzec, v nm mžeme použít znaky se speciálním významem, when je as, který bude formátován. Parametry je možno voliteln zapisovat "fmt=" and "when=".
Píklady:
{(ftime fmt="%F %H:%M")}
{(ftime %Y)}
{(ftime fmt=%F)}
{(ftime yesterday)}
{(ftime when=tomorrow)}
{(ftime %F yesterday)}
{(ftime week %F)}
{(ftime fmt=%F month)}
| 2024-11-01 11:28
2024
2024-11-01
31.10.2024 00:00 Uhr
02.11.2024 00:00 Uhr
2024-10-31
2024-11-01
2024-11-01
|
Parametr fmt se zapisuje bu "fmt=", nebo zápisem kterému pedchází '%', i jinak dle nastavení.
Význam znak pro formátování asových údaj vychází z jazyka PHP a je popsán na http://www.php.net/strftime. Píklady základních znak:
%F # ISO-8601 datum "2024-11-01"
%H:%M:%S # as jako hh:mm:ss "11:28:30"
%m/%d/%Y # datum jako mm/dd/yyyy "11/01/2024"
"%A, %B %d, %Y" # slovn "Freitag, November 01, 2024"
Parametr when pijímá adu rzných formát data. Zapisuje se bu "when=", nebo jako parametr následující parametru formátování asu. Pár píklad
2007-04-11 # ISO-8601 datum
20070411 # data bez dvojteek, pomlek i teek
2007-03 # msíce
@1176304315 # Unix timestamp (vteiny uplynulé od 1-Jan-1970 00:00 UTC)
now # aktuální as
today # today @ 00:00:00
yesterday # yesterday @ 00:00:00
"next Monday" # relative dates
"last Thursday" # relative dates
"-3 days" # ped temi dny
"+2 weeks" # za dva týdny
U parametru when se užívá pro pevod data funkce jazyka PHP strtotime do GNU formátu; která pijímá fráze definované pouze v anglitin (tj. není možný zápis "when=dnes..").
Promnná $FTimeFmt
umožuje zmnit výchozí formát data této funkce. Výchozí hodnota $FTimeFmt
je $TimeFmt
.
strlen
Expression "strlen" vrací délku etzce. První parametr je analyzovaný etzec.
{(strlen "{$:Summary}")}
| 37
|
rand
Expression "rand" vrací náhodné íslo (integer). První parametr je dolní mez , druhý parametr uruje horní mez generátoru náhodných ísel. Pi použití bbez parametr, vrací íslo mezi 0 a RAND MAX.
Píklad: pro náhodné íslo mezi 5 a 15 (vetn) zapišt rand (5, 15).
toupper / tolower
Expression "toupper" a "tolower" konvertuje atzec na velká i malá písmena. První parametr je výchozí etzec.
{(toupper "{$:Summary}")}
{(tolower "{$:Summary}")}
| ZNAKOVé VýRAZY (MARKUP EXPRESSIONS)
znakové výrazy (markup expressions)
|
ucfirst
Expression "ucfirst" konvertuje první písmeno etzce na velké. Parametrem je výchozí etzec.
{(ucfirst "{$:Summary}")}
| Znakové výrazy (Markup expressions)
|
ucwords
Expresssion "ucwords" konvertuje první písmena všech slov ve výchozím etzci, který je také jediným parametrem.
{(ucwords "{$:Summary}")}
| Znakové Výrazy (Markup Expressions)
|
pagename
Expression "pagename" vytvoí název stránky z etzce jediného parametru. (nejedná se o odkaz, text je neaktivní).
asspaced
The "asspaced" expression rozloží wikislovo na jednotlivé slova. Parametrem je etzec.
Vnoování funkcí
Markup expression(znakové výrazy, textové funkce..) mohou být vzájemn vnoeny:
{(tolower (substr "Hello World" 2))}
| llo world
|
Poznámky
- Nkteré z funkcí pro práci s etzcem mohou pracovat chybn na znacích kodování UTF-8 a na escape(speciálních) znacích.
- Znaka ftime nepracuje s nkterými ISO 8601 daty jako: {(ftime fmt="%m/%d/%Y @ %H:%M:%S" when="20070626T2400")} poté vrací: 06/27/2007/00:00:30. Zadáme-li zobrazit pouze samotný as:: {(ftime fmt="%H:%M:%S" when="20070626T2400")} poté vrací: 00:00:30 (pmwiki version: pmwiki-2.3.37)
Viz také
<< Promnné pro stránku | Index dokumentace | Soubžná editace >>