PmWikiDe

Markup Expressions

PmWikiDe.MarkupExpressions History

Hide minor edits - Show changes to output

April 24, 2018, at 06:43 AM by xkbtgdhvlbi - JvjtcEOt
Changed line 1 from:
3KtbpV  <a href="http://xmpjhopkqtqo.com/">xmpjhopkqtqo</a>, [url=http://gbpfubzrgnmy.com/]gbpfubzrgnmy[/url], [link=http://mtifkvtwkhrp.com/]mtifkvtwkhrp[/link], http://lekyydlnbqbu.com/
to:
pwfax9  <a href="http://dkcdhzvsenyt.com/">dkcdhzvsenyt</a>, [url=http://hbhytroscmxf.com/]hbhytroscmxf[/url], [link=http://sldrgocagwdf.com/]sldrgocagwdf[/link], http://ztjvwjhkzfhk.com/
October 19, 2017, at 08:54 AM by wkthyc - eQSRGStAeejPb
Changed line 1 from:
TcHepA  <a href="http://gubekfyytlej.com/">gubekfyytlej</a>, [url=http://kwpyxemzezvw.com/]kwpyxemzezvw[/url], [link=http://aikuilfgnxch.com/]aikuilfgnxch[/link], http://gwlrdntrzfzh.com/
to:
3KtbpV  <a href="http://xmpjhopkqtqo.com/">xmpjhopkqtqo</a>, [url=http://gbpfubzrgnmy.com/]gbpfubzrgnmy[/url], [link=http://mtifkvtwkhrp.com/]mtifkvtwkhrp[/link], http://lekyydlnbqbu.com/
October 18, 2017, at 02:43 AM by mppnqdgafbk - NMvyNBQLVirmHFaYacl
Changed line 1 from:
http://loanbadoknpz.com/ , s a month, if you can get a prescription for those amounts.
to:
TcHepA  <a href="http://gubekfyytlej.com/">gubekfyytlej</a>, [url=http://kwpyxemzezvw.com/]kwpyxemzezvw[/url], [link=http://aikuilfgnxch.com/]aikuilfgnxch[/link], http://gwlrdntrzfzh.com/
May 12, 2017, at 04:01 PM by internet - ewyeurit
Changed lines 1-197 from:
(:title: Formatierungsanweisungen im Ausdruck:)
(:Summary: String-Operationen und Formatierungsfunktionen werden innerhalb von Markups angewendet:)
(:Original_Page: PmWiki.{$Name}:)
(:Translation_Date: 2011-04-29:)
(:Translation_Status: %green%fertig%%:)
(:Audience: 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|substr]]'', ''[[#ftime|ftime]]'', ''[[#strlen|strlen]]'', ''[[#rand|rand]]'', ''[[#to|toupper / tolower]]'', ''[[#ucfirst|ucfirst]]'', ''[[#ucwords|ucwords]]'', ''[[#pagename|pagename]]'' und ''[[#asspaced|asspaced]]'' ein.

[[#substr]]
!! ''substr''

Der ''substr''-Ausdruck schneidet Teile aus einem String heraus. Die Argumente werden durch Leerzeichen getrennt. Es sind
# der zu bearbeitende String &mdash; auch ein nicht literaler String sollte in Anführungszeichen gesetzt werden &mdash;,
# die Startposition des Teilstrings im String &mdash; beachten Sie, dass diese Startposition auf null basiert (d. h. das erste Zeichen im String hat die Nummer "0") &mdash;,
# die Zahl der herauszuziehenden Zeichen.

Beispiele:
(:markup class="horiz":)
 {(substr "PmWiki" 2 3)}
 {(substr "PmWiki" 2)}
 {(substr "PmWiki" 0 1)}
 {(substr "PmWiki" 0 -3)}
 {(substr "PmWiki" -3)}
 {$:title}
 {(substr "{$:title}" 7 11)}
(:markupend:)

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

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

->[@{(ftime "fmt" "when")}@]
->[@{(ftime fmt="fmt" when="when")}@]

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

Beispiele:
(:markup class="horiz":)
 {(ftime)}
 {(ftime fmt="%F %H:%M")}
 {(ftime %Y)}
 {(ftime fmt=%T)}
 {(ftime when=tomorrow)}
 {(ftime fmt="%Y-%m-%d" yesterday)}
 {(ftime 1week %F)}
 {(ftime fmt=%D -4month)}
 {(ftime fmt="%a%e %b" "next week")}
 {$LastModifiedTime}
 {(ftime "%F" "@{$LastModifiedTime}")}
(:markupend:)

Der "fmt"-Parameter ist das, was auf ''fmt='' folgt, oder ein String, dessen erstes Zeichen ein '%' ist oder der Standard der Site (z. B. festgelegt in config.php). Die Formatkodes sind beschrieben in  %newwin% http://php.net/strftime. In Ergänzung dazu ergibt [='%F'=] ein ISO-8601-Datum und '%s' einen UNIX-Zeitstempel (Sekunden seit 1.1.1970). Einige gebräuchliche Formatstrings sind:

    [= %F            =]    # ISO-8601-Datum        "{(ftime %F)}"
    [= %s            =]    # Unix-Zeitstempel      "{(ftime %s)}"
    [= %H:%M:%S      =]    # Zeit als hh:mm:ss    "{(ftime %H:%M:%S)}"
    [= %m/%d/%Y      =]    # Datum als mm/dd/yyyy  "{(ftime %m/%d/%Y)}"
    [= "%A, %B %d, %Y" =]  # in Worten            "{(ftime "%A, %B %d, %Y")}"

Der "when"-Parameter versteht viele verschiedene Datums%newwin%[[http://php.net/manual/en/datetime.formats.php|formate]]. 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, in der Zukunft

'''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 %newwin%[[(http://www.php.net/)strtotime]]-Funktion, um Datumstrings gemäß des GNU-
[[http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html|Datum-Eingabe-Format]]s 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]]
!! ''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.

(:markup class="horiz":)
 {$:title}
 {(strlen "{$:title}")}
(:markupend:)

[[#rand]]
!! ''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)   

(:markup class="horiz":)
 {(rand)}
 {(rand -5 0)}
(:markupend:)

[[#to]]
!! ''toupper'' / ''tolower''

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

(:markup class="horiz":)
 {(toupper "{$:title}")}
 {(tolower "{$:title}")}
(:markupend:)

[[#ucfirst]]
!!''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.

(:markup class="horiz":)
 {(ucfirst "hund, katze, maus")}
 {(ucfirst "123hundert")}
(:markupend:)

[[#ucwords]]
!! ''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.

(:markup class="horiz":)
 {(ucwords "hunde und katzen")}
 {(ucwords "hund, katze, maus")}
(:markupend:)

[[#pagename]]
!! ''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.

(:markup class="horiz":)
 {(pagename "ein \ Back-slash, ein Forward-slash /")}
 {(pagename "{$:title}")}
(:markupend:)

[[#asspaced]]
!! ''asspaced''

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

(:markup class="horiz":)
 {$FullName}
 {(asspaced "{$FullName}")}
(:markupend:)

[[#nesting]]
!! Verschachteln von Ausdrücken

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

(:markup class="horiz":)
 {(tolower (substr "Hello World" 2))}
(:markupend:)

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

[[#notes]]   
!! Anmerkungen
* Einige der stringbearbeitenden Ausdrücke funktionieren womöglich nicht sauber mit UTF-8-Zeichen oder geschützten Zeichen (escaped sequences).
* Der "ftime"-Ausdruck funktioniert nicht mit einigen [[http://mcs.vuw.ac.nz/technical/software/SGML/doc/iso8601/ISO8601.html | ISO 8601]]-Daten (weil die Zeit 24:00 [[http://gnu.org/software/tar/manual/html_node/tar_114.html | ungültig ist]])
(:markup class=horiz:)
 {(ftime fmt="%m/%d/%Y @ %H:%M:%S" when="20070626T2400")}
 {(ftime fmt="%H:%M:%S" when="20070626T2400")}
(:markupend:)
* Es ist möglich, die Zeit in einer anderen [[http://gnu.org/software/tar/manual/html_node/tar_122.html#SEC122 | Zeitzone]] anzuzeigen.
(:markup class=horiz:)
 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')}
(:markupend:)

!! Siehe auch
* [[Page variables|+]], [[Page text variables|+]]
* [[Conditional markup|+]]
* Cookbook:MarkupExpressionSamples &mdash; '-custom markup expression samples-'
* Cookbook:MarkupExprPlus
to:
http://loanbadoknpz.com/ , s a month, if you can get a prescription for those amounts.