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.

Znaèkové výrazy (Markup Expressions byly implementovány od PmWiki 2.2.0-beta43).

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 >>

Poslední úprava stránky: 30.08.2007, 20:54