Dies ist eine alte Version des Dokuments!
Mit split
lassen sich Strings anhand frei wählbarer Trennzeichen in ein Array umwandeln, dessen Werte anschließend mit optionSplit und stdWrap weiterverarbeitet werden können. Typisches Szenario ist eine kommaseparierte Liste.
Die erhaltenen Werte werden mit cObjNum
einem (oder mehreren) cObj zugewiesen. Mithilfe von current
wird der aktuelle Wert übergeben. TYPO3 speichert die Ergebnisse von split im Register SPLIT_COUNT.
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
token | string / stdWrap | Der Wert dient als Trennzeichen zwischen den einzelnen Werten und kann ein einzelnes Zeichen oder eine Zeichenkette sein. Mit stdWrap.char lassen sich die Dezimalwerte der ASCII-Zeichen verwenden. 10 = TEXT 10.value = eins,zwei,drei 10.split.token = , [...] 10.value = einsSTOPzweiSTOPdrei 10.split.token = STOP [...] # 'char = 10' bedeutet einen Zeilenumbruch im ASCII-Code 10 = TEXT 10.value ( eins zwei drei ) 10.split.token.char = 10 [...] |
max | string / stdWrap | |
min | string / stdWrap | |
returnKey | integer / stdWrap | |
cObjNum | cObjNum +optionSplit / stdWrap | |
1,2,3,4 | CARRAY / stdWrap | |
wrap | wrap +optionSplit / stdWrap |
10 = TEXT 10.value = eins,zwei,drei,vier,fünf 10.split { token = , cObjNum = 1 1.current = 1 1.wrap = |<br> }
Ergebnis:
eins<br> zwei<br> drei<br> vier<br> fünf<br>
Eine genaue Beschreibung von optionSplit findet sich hier. Damit lassen sich einzelne Werte auf unterschiedliche Art weiterverarbeiten. Der optionSplit wird bei cObjNum
angewendet, die darin enthaltenen Nummern lassen sich als cObjects mit stdWrap-Funktionen modifizieren. Hierzu muss der aktuelle Wert mit current
geladen werden.
Alternativ kann auch ein eigener Wert mit value
, data
oder ähnlichem verwendet werden, um die geladenen Werte zu überschreiben oder zu ergänzen. Es können nur cObjects verwendet werden, die unter cObjNum
definiert wurden. Unterobjekte sind aber möglich (1.10, 1.20, …).
10 = TEXT 10.value = eins+zwei+drei+vier+fünf 10.split { token = + cObjNum = 1 |*| 2 |*| 3 1.current = 1 1.wrap = <span style="color:red">|,</span> 2.current = 1 2.wrap = <span style="color:orange">|,</span> 3.10 = TEXT 3.10.current = 1 3.10.wrap = <span style="color:blue">|,</span> 3.20 = TEXT 3.20.value = sechs 3.20.wrap = <span style="color:green">|</span> }
<html> Ergebnis: eins,zwei,drei,vier,fünf,sechs </html>