Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Zdroje...

edit SideBar

Markup expression(značkové výrazy, textové funkce..)

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)}
 2017-11-25 06:23
 2017
 2017-11-25
 24.11.2017, 00:00
 26.11.2017, 00:00
 2017-11-24
 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      "2017-11-25"
     %H:%M:%S          # čas jako hh:mm:ss    "06:23:14"
     %m/%d/%Y          # datum jako mm/dd/yyyy  "11/25/2017"
     "%A, %B %d, %Y"   # slovně            "Saturday, November 25, 2017"

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)}
 2128449416

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.89)

Viz také

<< Proměnné pro stránku | Index dokumentace | Souběžná editace >>

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 10.09.2011, 17:29