Recent Changes - Search:

PmWiki (deutsch) für die Liste aller Seiten


Englisch:

PmWiki

pmwiki.org

edit SideBar

https://www.jetphotos.com/photographer/598301 https://www.jetphotos.com/photographer/598304 https://www.jetphotos.com/photographer/598305 https://www.jetphotos.com/photographer/598307 https://www.jetphotos.com/photographer/598310 https://www.jetphotos.com/photographer/598312 https://www.jetphotos.com/photographer/598317 https://www.jetphotos.com/photographer/598318 https://www.jetphotos.com/photographer/598320 https://www.jetphotos.com/photographer/598321 https://www.jetphotos.com/photographer/598322 https://www.jetphotos.com/photographer/598324 https://www.jetphotos.com/photographer/598328 https://www.jetphotos.com/photographer/598340 https://www.jetphotos.com/photographer/598341 https://www.jetphotos.com/photographer/598346 https://www.jetphotos.com/photographer/598349 https://www.jetphotos.com/photographer/598357 https://www.jetphotos.com/photographer/598366 https://www.jetphotos.com/photographer/598372 https://www.jetphotos.com/photographer/598374 https://www.jetphotos.com/photographer/598378 https://www.jetphotos.com/photographer/600028 https://www.jetphotos.com/photographer/600031 https://www.jetphotos.com/photographer/600032 https://www.jetphotos.com/photographer/600034 https://www.jetphotos.com/photographer/600036 https://www.jetphotos.com/photographer/600037 https://www.jetphotos.com/photographer/600039 https://www.jetphotos.com/photographer/600041 https://www.jetphotos.com/photographer/600042 https://www.jetphotos.com/photographer/600045 https://www.jetphotos.com/photographer/600046 https://www.jetphotos.com/photographer/600047 https://www.jetphotos.com/photographer/600048 https://www.jetphotos.com/photographer/600050 https://www.jetphotos.com/photographer/600051 https://www.jetphotos.com/photographer/600052 https://www.jetphotos.com/photographer/600053 https://www.jetphotos.com/photographer/600055 https://www.jetphotos.com/photographer/600057 https://www.jetphotos.com/photographer/600641 https://www.jetphotos.com/photographer/600644 https://www.jetphotos.com/photographer/600645 https://www.jetphotos.com/photographer/600646 https://www.jetphotos.com/photographer/602231 https://www.jetphotos.com/photographer/602240 https://www.jetphotos.com/photographer/602244 https://www.jetphotos.com/photographer/602247 https://www.jetphotos.com/photographer/602261 https://www.jetphotos.com/photographer/602265 https://www.jetphotos.com/photographer/602279 https://www.jetphotos.com/photographer/602307 https://www.jetphotos.com/photographer/602315 https://www.jetphotos.com/photographer/602323 https://www.jetphotos.com/photographer/602340 https://www.jetphotos.com/photographer/602346 https://www.jetphotos.com/photographer/602741 https://www.jetphotos.com/photographer/602743 https://www.jetphotos.com/photographer/602744 https://www.jetphotos.com/photographer/602745 https://www.jetphotos.com/photographer/602746 https://www.jetphotos.com/photographer/602748 https://www.jetphotos.com/photographer/602749 https://www.jetphotos.com/photographer/602750 https://www.jetphotos.com/photographer/602757 https://www.jetphotos.com/photographer/602758 https://www.jetphotos.com/photographer/602762 https://www.jetphotos.com/photographer/602763 https://www.jetphotos.com/photographer/602764 https://www.jetphotos.com/photographer/602769 https://www.jetphotos.com/photographer/602770 https://www.jetphotos.com/photographer/602772 https://www.jetphotos.com/photographer/602773 https://www.jetphotos.com/photographer/602774 https://www.jetphotos.com/photographer/602775 https://www.jetphotos.com/photographer/601186 https://www.jetphotos.com/photographer/601188 https://www.jetphotos.com/photographer/601189 https://www.jetphotos.com/photographer/601191 https://www.jetphotos.com/photographer/601192 https://www.jetphotos.com/photographer/601194 https://www.jetphotos.com/photographer/601196 https://www.jetphotos.com/photographer/601197 https://www.jetphotos.com/photographer/601248 https://www.jetphotos.com/photographer/601249 https://www.jetphotos.com/photographer/601250 https://www.jetphotos.com/photographer/601251 https://www.jetphotos.com/photographer/601252 https://www.jetphotos.com/photographer/601254 https://www.jetphotos.com/photographer/601255 https://www.jetphotos.com/photographer/601256 https://www.jetphotos.com/photographer/601258 https://www.jetphotos.com/photographer/601260 https://www.jetphotos.com/photographer/601261 https://www.jetphotos.com/photographer/601263 https://www.jetphotos.com/photographer/601264 https://www.jetphotos.com/photographer/601265 https://www.jetphotos.com/photographer/601266 https://www.jetphotos.com/photographer/601267 https://www.jetphotos.com/photographer/601268 https://www.jetphotos.com/photographer/601269 https://www.jetphotos.com/photographer/601270 https://www.jetphotos.com/photographer/601272 https://www.jetphotos.com/photographer/601273 https://www.jetphotos.com/photographer/602779 https://www.jetphotos.com/photographer/602780 https://www.jetphotos.com/photographer/602781 https://www.jetphotos.com/photographer/602782 https://www.jetphotos.com/photographer/600111 https://www.jetphotos.com/photographer/600112 https://www.jetphotos.com/photographer/600148 https://www.jetphotos.com/photographer/600151 https://www.jetphotos.com/photographer/600155 https://www.jetphotos.com/photographer/600157 https://www.jetphotos.com/photographer/600159 https://www.jetphotos.com/photographer/600161 https://www.jetphotos.com/photographer/600163 https://www.jetphotos.com/photographer/600647 https://www.jetphotos.com/photographer/600648 https://www.jetphotos.com/photographer/600649 https://www.jetphotos.com/photographer/600650 https://www.jetphotos.com/photographer/602889 https://www.jetphotos.com/photographer/602890 https://www.jetphotos.com/photographer/602891 https://www.jetphotos.com/photographer/602895 https://www.jetphotos.com/photographer/602897 https://www.jetphotos.com/photographer/602900 https://www.jetphotos.com/photographer/602904 https://www.jetphotos.com/photographer/602907 https://www.jetphotos.com/photographer/602913 https://www.jetphotos.com/photographer/602916 https://www.jetphotos.com/photographer/602918 https://www.jetphotos.com/photographer/602922 https://www.jetphotos.com/photographer/602923 https://www.jetphotos.com/photographer/602925 https://www.jetphotos.com/photographer/602926 https://www.jetphotos.com/photographer/600534 https://www.jetphotos.com/photographer/600535 https://www.jetphotos.com/photographer/600536 https://www.jetphotos.com/photographer/600538 https://www.jetphotos.com/photographer/600539 https://www.jetphotos.com/photographer/600540 https://www.jetphotos.com/photographer/600542 https://www.jetphotos.com/photographer/600543 https://www.jetphotos.com/photographer/600544 https://www.jetphotos.com/photographer/600547 https://www.jetphotos.com/photographer/600548 https://www.jetphotos.com/photographer/600549 https://www.jetphotos.com/photographer/600550 https://www.jetphotos.com/photographer/600552 https://www.jetphotos.com/photographer/600553 https://www.jetphotos.com/photographer/600555 https://www.jetphotos.com/photographer/600558 https://www.jetphotos.com/photographer/600565 https://www.jetphotos.com/photographer/600566 https://www.jetphotos.com/photographer/600567 https://www.jetphotos.com/photographer/600568 https://www.jetphotos.com/photographer/600571 https://www.jetphotos.com/photographer/600573 https://www.jetphotos.com/photographer/600575 https://www.jetphotos.com/photographer/600576 https://www.jetphotos.com/photographer/600577 https://www.jetphotos.com/photographer/600578 https://www.jetphotos.com/photographer/600666 https://www.jetphotos.com/photographer/600668 https://www.jetphotos.com/photographer/600669 https://www.jetphotos.com/photographer/600670 https://www.jetphotos.com/photographer/602963 https://www.jetphotos.com/photographer/601276 https://www.jetphotos.com/photographer/601280 https://www.jetphotos.com/photographer/601281 https://www.jetphotos.com/photographer/601284 https://www.jetphotos.com/photographer/601285 https://www.jetphotos.com/photographer/601286 https://www.jetphotos.com/photographer/601287 https://www.jetphotos.com/photographer/601288 https://www.jetphotos.com/photographer/601291 https://www.jetphotos.com/photographer/601293 https://www.jetphotos.com/photographer/602776 https://www.jetphotos.com/photographer/602777 https://www.jetphotos.com/photographer/602955 https://www.jetphotos.com/photographer/602956 https://www.jetphotos.com/photographer/602957 https://www.jetphotos.com/photographer/602959 https://www.jetphotos.com/photographer/602960 https://www.jetphotos.com/photographer/602961

Formatierungsanweisungen im Ausdruck

für die Liste aller Seiten

Autoren (Fortgeschrittene)

Der {(...)}-"Formatierungsausdruck" erlaubt es, eine Reihe von String- und Formatierungsanweisungen innnerhalb eines Markups auszuführen. Die Anweisungen, die laut diesem Rezept definiert werden, schließen substr, ftime, strlen, rand, mod, toupper / tolower, ucfirst, ucwords, pagename und asspaced ein. Markups können verschachtelt werden, indem man das Markup {(...(...)...)} benutzt.

substr

Der substr-Ausdruck schneidet Teile aus einem String heraus. Die Argumente werden durch Leerzeichen getrennt. Es sind

  1. der zu bearbeitende String – setzen Sie den String immer in Anführungszeichen,
  2. die Startposition des Teilstrings im String – beachten Sie, dass diese Startposition auf null basiert (d. h. das erste Zeichen im String hat die Nummer "0"),
  3. die Zahl der herauszuziehenden Zeichen.

Beispiele:

 {(substr "PmWiki" 2 3)}
 {(substr "PmWiki" 2)}
 {(substr "{*$Group}" 2)}
 {(substr "PmWiki" 0 1)}
 {(substr "PmWiki" 0 -3)}
 {(substr "PmWiki" -3)}
 {$:title}
 {(substr "{$:title}" 7 11)}
 Wik
 Wiki
 WikiDe
 P
 PmW
 iki
 Formatierungsanweisungen im Ausdruck
 erungsanwei

Um die letzten n Zeichen aus einem String herauszuschneiden, verwenden Sie {(substr "string" -n)}
Um die letzten n Zeichen vom String abzuschneiden, verwenden Sie {(substr "string" 0 -n)}
Um alle Zeichen ab dem n. Zeichen zu erhalten, lassen Sie den dritten Parameter weg: {(substr "string" n)}

ftime

ftime-Ausdrücke dienen der Formatierung von Datum und Zeit. Das allgemeine Format ist

{(ftime "fmt" "when")}
{(ftime fmt="fmt" when="when" tz="tz" locale="locale")}

worin "fmt" ein Formatstring und "when" die zu formatierende Zeit ist. Die Argumente können in beiden Reihenfolgen geschrieben werden und können die optionalen Labels "fmt=" und "when=" nutzen.

Das "tz"-Argument (time zone, Zeitzone) erlaubt das Setzen einer anderen Zeitzone, wenn auch nur in Installationen, die PHP 5.1 oder neuer nutzen. Siehe die Liste der unterstützten Zeitzonen, Argumente, die dort nicht zu finden sind, werden stillschweigend ignoriert.

Das "locale"-Argument (language locale, lokale Sprache) erlaubt, das Zeitformat mit Wochentagen und Monaten in einer anderen Sprache auszugeben, sofern diese lokale Sprache auf dem Server verfügbar ist. Sie können mehrere "locale" zum Durchprobieren angeben, getrennt durch Kommata oder Leerzeichen, z. B. "fr_FR.utf8,fr_FR,fr". Wenn keine der gelisteten "locale" verfügbar ist, wird das Argument stillschweigend ignoriert.

Wenn Sie bei internationalen "locale"-Einstellungen seltsame Zeichen sehen, versuchen Sie den ".uft8"- oder "UTF-8"-Teil hinzuzufügen oder wegzulassen, d. h. versuchen sie Beides – "fr_FR.utf8" und "fr_FR" – um zu sehen, welches bei Ihnen funktioniert. Wikis mit aktiviertem UTF-8 werden eher den ".utf8"-Teil brauchen.

Beispiele:

 {(ftime)}
 {(ftime fmt="%F %H:%M")}
 {(ftime %Y)}
 {(ftime fmt=%T)}
 {(ftime when=tomorrow)}
 {(ftime fmt="%Y-%m-%d" yesterday)}
 {(ftime "+1 week" %F)}
 {(ftime fmt=%D "-4 month")}
 {(ftime fmt="%a%e %b" "next week")}
 {$LastModifiedTime}
 {(ftime "%F" "@{$LastModifiedTime}")}
 {(ftime fmt="%A, %d %B %Y, %Hh%M" locale=fr_FR.utf8 tz=Europe/Paris)}
 {(ftime fmt="%A, %d. %B %Y, %H Uhr %M" locale=de_DE.utf8 tz=Europe/Berlin)}
 {(ftime locale=de_DE.utf8 tz=Europe/Berlin)}

 September 17, 2025, at 02:19 PM
 2025-09-17 14:19
 2025
 14:19:59
 September 18, 2025, at 12:00 AM
 2025-09-16
 2025-09-24
 05/17/25
 Mon22 Sep
 1667130203
 2022-10-30
 mercredi, 17 septembre 2025, 16h19
 Mittwoch, 17. September 2025, 16 Uhr 19
 September 17, 2025, at 04:19 

Der "fmt"-Parameter ist das, was auf fmt= folgt, oder ein String, dessen erstes Zeichen ein '%' ist oder sonst der Standard der Site (z. B. festgelegt in config.php). Die Formatkodes sind beschrieben in https://www.php.net/manual/de/function.strftime.php. In Ergänzung dazu ergibt '%o' die Endung einer Ordnungszahl ("st" für 1st), '%F' ein ISO-8601-Datum wie 2022-10-30, '%s' einen UNIX-Zeitstempel (Sekunden seit 1.1.1970) und '%L' erzeugt ein Format wie @2022-10-30T01:27:34Z, welches in der Zeitzone des Besuchers per Cookbook:LocalTimes angezeigt werden kann.

Einige gebräuchliche Formatstrings sind:

     %F                  # ISO-8601-Datum         "2025-09-17"
     %s                  # Unix-Zeitstempel       "1758118799"
     %H:%M:%S            # Zeit als hh:mm:ss      "14:19:59"
     %m/%d/%Y            # Datum als mm/dd/yyyy   "09/17/2025"
     "%A, %B %e%o, %Y"   # in Worten              "Wednesday, September 17th, 2025"
     "%A, %d. %B %Y"     # in Worten (alternativ) "Wednesday, 17. September 2025"

Beachten Sie, dass, wenn Sie einen undefinierten Formatstring wie %q oder %E verwenden, dieser von ftime unverändert gelassen bleibt, später aber von PmWiki als Wikistil verarbeitet werden könnte, was womöglich unerwartet kommt.

Der "when"-Parameter versteht viele verschiedene Datumsformate. Der "when"-Parameter ist das, was auf when= folgt oder was nach dem Erkennen des Formatparameters übrigbleibt. Einige Beispiele:

    2007-04-11            # ISO-8601-Datum
    20070411              # Datum ohne Bindestriche, Schrägstriche oder Punkte
    2007-03               # Monat
    @1176304315           # Unix-Zeitstempel (Sekunden seit 1-Jan-1970 00:00 UTC)
    now                   # Die aktuelle Zeit
    today                 # heute um 00:00:00 Uhr
    yesterday             # gestern um 00:00:00 Uhr
    "next Monday"         # relatives Datum
    "last Thursday"       # relatives Datum
    "-3 days"             # vor drei Tagen
    "+2 weeks"            # in zwei Wochen ab jetzt

Anmerkung: Wenn Sie einen Unix-Zeitstempel umwandeln wollen, müssen Sie ein '@' voranstellen, also

{(ftime "%A, %B %d, %Y" @1231116927)},

auch wenn die Zeit aus einer Variablen stammt, wie hier:

{(ftime "%F" "@{$LastModifiedTime}")}.

Der "when"-Parameter nutzt PHPs strtotime-Funktion, um Datumstrings gemäß des GNU- Datum-Eingabe-Formats umzuwandeln; diese Funktion versteht nur englische Phrasen in Datumsangaben.

Die Variable $FTimeFmt kann eingesetzt werden, um das Standarddatumformat, das von "ftime" benutzt wird, zu überschreiben. Der Standard für $FTimeFmt ist $TimeFmt.

Ein ungültiger "when"-Parameter evaluiert zu @000000, also 01.01.1970 00:00Uhr.

strlen

Der strlen-Ausdruck gibt die Länge des Strings zurück. Das Argument ist der nachzumessende String. Das Argument muss in Anführungszeichen gesetzt sein, auch wenn es kein literaler String ist.

 {$:title}
 {(strlen "{$:title}")}
 Formatierungsanweisungen im Ausdruck
 36

rand

Der rand-Ausdruck liefert eine Zufallszahl aus dem Bereich der ganzen Zahlen. Das erste Argument bezeichnet die kleinste Zahl, die zurückgegeben werden soll, das zweite Argument bezeichnet die größte Zahl, die zurückgegeben werden soll. Ohne Argumente erhält man eine Zahl zwischen 0 und RAND_MAX (Es heißt, die sei 2147483647, die Hälfte der größten Integerzahl. Es ist aber vom Betriebssystem abhängig, wie groß diese Zahl letztendlich ist).
Wenn man z. B. eine Zufallszahl zwischen -5 und 15 (einschließlich) erhalten möchte, schreibt man (rand -5 15)

 {(rand)}
 {(rand -5 0)}
 1412902169
 -1

mod

Der erweiterte "mod"-Ausdruck gibt den Modulo (Divisionsrest) einer Division zweier Zahlen zurück. Es kann in erweiterten Seitenlistenvorlagen zusammen mit {$$PageCount} genutzt werden, um Markups in jedem (modulo) Eintrag einzufügen, z. B. um alternierende (Zebra-)Tabellenzeilen zu erzeugen oder um einen Zeilenumbruch einzufügen. (Siehe auch PageLists, WikiStyles and ConditionalMarkup.)

>>comment<<
%define=bg1 item bgcolor=#f88%
%define=bg2 item bgcolor=#ff8%
%define=bg0 item bgcolor=#8f8%[=
[[#altrows]]
* %bg{(mod {$$PageCount} 3)}% {=$Name} ({$$PageCount})
[[#altrowsend]]=]
>><<
(:pagelist fmt=#altrows group=PmWiki count=10:)

[[#altrows]] * %bg{(mod {$$PageCount} 3)}% {=$Name} ({$$PageCount}) [[#altrowsend]]

  • AccessKeys (1)
  • AdminTask (2)
  • AnalyzeResults (3)
  • AQ (4)
  • Audiences (5)
  • AuthoringPhilosophy (6)
  • AuthorTracking (7)
  • AuthUser (8)
  • AvailableActions (9)
  • BackupAndRestore (10)

toupper / tolower

Der toupper- und der tolower-Ausdruck wandeln einen String in Groß- bzw. Kleinbuchstaben um. Das Argument ist der umzuwandelnde String.

 {(toupper "{$:title}")}
 {(tolower "{$:title}")}
 FORMATIERUNGSANWEISUNGEN IM AUSDRUCK
 formatierungsanweisungen im ausdruck

ucfirst

Der ucfirst-Ausdruck wandelt das erste Zeichen des Strings in einen Großbuchstaben um, wenn es ein Buchstabe ist. Das Argument ist der umzuwandelnde String.

 {(ucfirst "hund, katze, maus")}
 {(ucfirst "123hundert")}
 Hund, katze, maus
 123hundert

ucwords

Der ucwords-Ausdruck wandelt den ersten Buchstaben jeden Wortes in dem String in einen Großbuchstaben um (eigentlich des erste Zeichen und jedes Zeichen nach einem Leerzeichen, wenn es denn ein Buchstabe ist). Das Argument ist der umzuwandelnde String.

 {(ucwords "hunde und katzen")}
 {(ucwords "hund, katze, maus")}
 Hunde Und Katzen
 Hund, Katze, Maus

pagename

Der pagename-Ausdruck bildet einen Seitennamen aus einem String. Der Seitenname eignet sich als Name zum Speichern, ist in WikiWordSchreibweise geschrieben und enthält keine für Dateisysteme verbotenen Zeichen und keine Leerzeichen mehr. Das Argument ist der umzuwandelnde String.

 {(pagename "ein \ Back-slash, ein Forward-slash /")}
 {(pagename "{$:title}")}
 EinBack-slashEinForward-slash.EinBack-slashEinForward-slash
 PmWikiDe.FormatierungsanweisungenImAusdruck

asspaced

Der asspaced-Ausdruck zerlegt WikiWörter, indem es Leerzeichen vor Großbuchstaben einfügt. Das Argument ist der umzuwandelnde String.

 {$FullName}
 {(asspaced "{$FullName}")}
 PmWikiDe.MarkupExpressions
 Pm Wiki De.Markup Expressions

Verschachteln von Ausdrücken

Die hier beschriebenen Ausdrücke können verschachtelt werden.

 {(tolower (substr "Hello World" 2))}
 llo world

Der innere Ausdruck darf nicht mehr von geschweiften Klammern umgeben sein. Das Setzen von Anführungszeichen ist eine diffizile Angelegenheit.

Anmerkungen

  • In PmWikis der Version 2.2.33 oder älter funktionieren womöglich einige der stringbearbeitenden Ausdrücke nicht sauber mit Multibyte-UTF-8-Zeichen. Neuere Versionen sollten gut funktionieren.
  • Der "ftime"-Ausdruck funktioniert nicht mit einigen ISO 8601-Daten (weil die Zeit 24:00 ungültig ist).
 {(ftime fmt="%m/%d/%Y @ %H:%M:%S" when="20070626T2400")}
 {(ftime fmt="%H:%M:%S" when="20070626T2400")}
 06/27/2007 @ 00:00:00
 00:00:00
  • Es ist möglich, die Zeit in einer anderen Zeitzone anzuzeigen.
 1 {(ftime when='Europe/Berlin')}
 2 {(ftime when='Europe/London')}
 3 {(ftime when='Europe/London +2 days')}
 4 {(ftime when="Europe/London 20041031T0820")}
 5 {(ftime "%F %H:%M" 'Pacific/Auckland now')}
 1 September 17, 2025, at 12:19 PM
 2 September 17, 2025, at 01:19 PM
 3 September 19, 2025, at 01:19 PM
 4 October 31, 2004, at 08:20 AM
 5 2025-09-17 02:19

Siehe auch

für die Liste aller Seiten


Übersetzung von PmWiki.MarkupExpressions,   Originalseite auf PmWikiDe.MarkupExpressions   —   Backlinks

Zuletzt geändert:   PmWikiDe.MarkupExpressionsam 30.10.2022
 PmWiki.MarkupExpressionsam 30.10.2022
Edit - History - Print - Recent Changes - Search
Page last modified on October 30, 2022, at 11:43 AM