Markup expression(znakové výrazy, textové funkce..)
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.
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)}
| 2025-12-14 09:32 2025 2025-12-14 2025-12-13 2025-12-15 2025-12-13 2025-12-14 2025-12-14 |
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 "2025-12-14"
%H:%M:%S # as jako hh:mm:ss "09:32:23"
%m/%d/%Y # datum jako mm/dd/yyyy "12/14/2025"
"%A, %B %d, %Y" # slovn "Sunday, December 14, 2025"
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).
{(rand)}
| 2078403938 |
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:26. Zadáme-li zobrazit pouze samotný as:: {(ftime fmt="%H:%M:%S" when="20070626T2400")} poté vrací: 00:00:26 (pmwiki version: pmwiki-2.3.20)
Viz také
<< Promnné pro stránku | Index dokumentace | Soubžná editace >>