authors (advanced)
Syntaxe {(...)}
"znaèkového výrazu" umo¾òuje pou¾ívat øadu funkcí pro práci s øetìzcem 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.
substr
Markup expression "substr" extrahuje èást øetìzce. První parametr je zpracovávaný øetìzec, druhý parametr je index prvního vybíraného písmene a tøetí parametr urèuje poèet písmen od prvního vybíraného písmene (písmena jsou v øetìzci 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í øetìzec, v nìm 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-05-09 23:33 2024 2024-05-09 08.05.2024, 00:00 10.05.2024, 00:00 2024-05-08 1970-01-01 1970-01-01 |
Parametr fmt se zapisuje buï "fmt=", nebo zápisem kterému pøedchá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-05-09" %H:%M:%S # èas jako hh:mm:ss "23:33:43" %m/%d/%Y # datum jako mm/dd/yyyy "05/09/2024" "%A, %B %d, %Y" # slovnì "Thursday, May 09, 2024"
Parametr when pøijímá øadu rùzný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 dvojteèek, pomlèek èi teèek 2007-03 # mìsíce @1176304315 # Unix timestamp (vteøiny 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" # pøed tøemi dny "+2 weeks" # za dva týdny
U parametru when se u¾ívá pro pøevod data funkce jazyka PHP strtotime do GNU formátu; která pøijímá fráze definované pouze v angliètinì (tj. není mo¾ný zápis "when=dnes..").
Promìnná $FTimeFmt
umo¾òuje zmìnit výchozí formát data této funkce. Výchozí hodnota $FTimeFmt
je $TimeFmt
.
strlen
Expression "strlen" vrací délku øetìzce. První parametr je analyzovaný øetìzec.
{(strlen "{$:Summary}")} | 38 |
rand
Expression "rand" vrací náhodné èíslo (integer). První parametr je dolní mez , druhý parametr urèuje horní mez generátoru náhodných èísel. Pøi pou¾ití bbez parametrù, vrací èíslo mezi 0 a RAND MAX. Pøíklad: pro náhodné èíslo mezi 5 a 15 (vèetnì) zapi¹tì rand (5, 15).
{(rand)} | 383556212 |
toupper / tolower
Expression "toupper" a "tolower" konvertuje øatìzec na velká èi malá písmena. První parametr je výchozí øetìzec.
{(toupper "{$:Summary}")} {(tolower "{$:Summary}")} | ZNAÈKOVÉ VÝRAZY (MARKUP EXPRESSIONS) znaèkové výrazy (markup expressions) |
ucfirst
Expression "ucfirst" konvertuje první písmeno øetìzce na velké. Parametrem je výchozí øetìzec.
{(ucfirst "{$:Summary}")} | Znaèkové výrazy (Markup expressions) |
ucwords
Expresssion "ucwords" konvertuje první písmena v¹ech slov ve výchozím øetìzci, který je také jediným parametrem.
{(ucwords "{$:Summary}")} | Znaèkové Výrazy (Markup Expressions) |
pagename
Expression "pagename" vytvoøí název stránky z øetìzce jediného parametru. (nejedná se o odkaz, text je neaktivní).
asspaced
The "asspaced" expression rozlo¾í wikislovo na jednotlivé slova. Parametrem je øetìzec.
Vnoøování funkcí
Markup expression(znaèkové výrazy, textové funkce..) mohou být vzájemnì vnoøeny:
{(tolower (substr "Hello World" 2))} | llo world |
Poznámky
- Nìkteré z funkcí pro práci s øetìzcem mohou pracovat chybnì na znacích kodování UTF-8 a na escape(speciálních) znacích.
- Znaèka ftime nepracuje s nìkterými ISO 8601 daty jako: {(ftime fmt="%m/%d/%Y @ %H:%M:%S" when="20070626T2400")} poté vrací: 06/27/2007/00:00:00. Zadáme-li zobrazit pouze samotný èas:: {(ftime fmt="%H:%M:%S" when="20070626T2400")} poté vrací: 00:00:00 (pmwiki version: pmwiki-2.2.142)
Viz také
<< Promìnné pro stránku | Index dokumentace | Soubì¾ná editace >>