---
title: "Split-Ergebnisse hintereinander duplizieren"
url: "https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage"]
created: "2008-06-08"
last_reply: "2008-06-09"
replies: 14
solved: false
page: 1
pages: 1
lang: "de"
---

# Split-Ergebnisse hintereinander duplizieren

TYPO3 › TypoScript · 14 Antworten · gestartet 2008-06-08

## Eröffnungsbeitrag

**Danwe** · 2008-06-08 · [Beitrag #1](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/1)

Hi,

ich verwende die Split-Funktion, um einen Satz nach jedem Leerzeichen in seine einzelnen Wörter zu zerlegen. Nun möchte ich noch die einzelnen Wörter jeweils 2 mal hintereinander stehen haben.
Folgenden code habe ich mir erarbeitet:

```typoscript
20 = TEXT
20.value = Ein ganz normaler Satz von Mir.
20.split {
      token.char = 32
      cObjNum = 1      
      1.current = 1

      //Folgendes funktioniert so gar nicht:
      1.stdWrap.cObject = COA
      1.stdWrap.cObject.10 < .1
      1.stdWrap.cObject.20 < .2
}
```

Das Splitten zwischen den Leerzeichen funktioniert. Nur kriege ich es nicht hin, die Wörter dann jeweils 2 mal nacheinander anzuzeigen.
Die Ausgabe soll also so aussehen:

> EinEinganzganznormalernormalerSatzSatzvonvonMir.Mir.

Im Moment krieg ich eine Leere ausgabe. Wie krieg ich es hin, die einzelnen Splitergebnisse jeweils einmal zu klonen u. hinter das äquivalente Original-Objekt zu hängen?
Natürlich werde ich die Ausgabe dann weiter verarbeiten mit Wraps, Substring u. Crop, damit die Ausgabe Sinn ergibt, ich möcht euch nur nicht mit unwichtigen Details überhäufen  ;)

Vielen Danke schon mal! Kann ja eigentlich nicht so schwer sein.

## Antworten

### [#2](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/2) · Unbekannter Benutzer · 2008-06-08

Versteh ich nicht ganz...

Also deine Ausgabe lautet:
EinganznormalerSatzvonMir.

Wenn du das Ganze jetzt noch zweimal ausgeben willst, also
EinganznormalerSatzvonMir.EinganznormalerSatzvonMir.EinganznormalerSatzvonMir.
Dann einfach:

```typoscript
15 = TEXT
20.value = Ein ganz normaler Satz von Mir.
20.split {
	token.char = 32
	cObjNum = 1     
	1.current = 1
}
21 < .20
22 < .21
```

### [#3](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/3) · Danwe · 2008-06-08

Nein, so leicht ist das nicht, wie in meinem beispiel oben möchte ich JEDES WORT doppelt hintereinander ausgeben.
also:
**Ein**Ein**ganz**ganz**normaler**normaler**Satz**Satz**von**von**Mir.**Mir.

### [#4](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/4) · Unbekannter Benutzer · 2008-06-08

Frage ist wofür soll das sein?

Wenn es sich dabei wirklich um einen Satz handelt, dann kannst du es so machen:

```typoscript
20 = TEXT
20.value = Ein ganz normaler Satz von Mir.
20.split {
	token.char = 32
	cObjNum = 1     
	1.current = 1
}
21 < .20
21 {
	crop = 3||1
}
22 < .21
23 < .20
23 {
	crop = 4||1
	substring = 3
}
24 < .23
25 < .20
25 {
	crop = 8||1
	substring = 7
}
26 < .25
27 < .20
27 {
	crop = 4||1
	substring = 15
}
28 < .27
29 < .20
29 {
	crop = 3||1
	substring = 19
}
30 < .29
31 < .20
31 {
	crop = 4||1
	substring = 22
}
32 < .31
```

Die Ausgabe ist dann so wie du möchtest:
EinganznormalerSatzvonMir.EinEinganzganznormalernormalerSatzSatzvonvonMir.Mir.

Vielleicht bringt dich das ja weiter

### [#5](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/5) · Danwe · 2008-06-08

Da hast du dir aber viel Mühe gemacht und schön Zeichen gezählt  :o aber...
Ne, leider bringt mir das gar Nichts, vielleicht hätte ich auch dazu sagen sollen, dass es sich nicht nur um diesen Satz handelt, sondern der Satz dynamisch von wo anders kommt.

Dann erkläre ich halt doch mal genauer Sinn u. Zweck der Sache:
Ich möchte folgendes erreichen:

mit dem Split hole ich mir alle Wörter aus dem Satz. Jedes Wort soll dann einzeln behandelt werden. Wenn der erste Buchstabe des Wortes groß geschrieben ist, so soll er mit einem <big>-Tag umschlossen werden.
Darum möchte ich auch wissen, wie ich jeden Split-Output 2 mal hintereinander kriege. Vom ersten Wort verwende ich dann nur den ersten Buchstaben, von der Kopie des Wortes würde ich dann über substring den Rest des Wortes verwenden.
Letztendlich würde mein Satz dann so aussehen:

```html
<big>E</big>in ganz normaler <big>S</big>atz von <big>M</big>ir.
```

Natürlich erst wenn ich zusätzlich zu der Frage um dies hier geht noch weis, wie ich prüfen kann ob kleiner oder großer Buchstabe, aber das ist im Moment noch nicht mein problem.

Ist die Aufgabenstellung jetzt klarer?  ;)

### [#6](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/6) · Unbekannter Benutzer · 2008-06-08

Das ist immer das Problem... Es wird ein fiktiver Code gepostet und das Ergebnis soll vollkommen anders sein als das was zunächst gefragt wird...

Warum mach ich mir nur die Mühe  #paralyzed#

Ich kann leider da nicht weiterhelfen.

### [#7](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/7) · Danwe · 2008-06-08

Danke trotzdem für deine Mühe!

Vielleicht hat ja noch jemand anders eine Idee wie ich das hin bekommen kann.

### [#8](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/8) · Unbekannter Benutzer · 2008-06-08

War ja auch nicht ganz ernst gemeint... Ich hab mir wohl gedacht dass so eine zusammensetzung verdammt wenig Sinn macht

### [#9](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/9) · Danwe · 2008-06-09

Hey, nach langem rumprobieren hab ichs nun selbst hin bekommen:

```typoscript
    20 = TEXT
    20.value = Ein ganz normaler Satz von Mir.
    20.split {
      token.char = 32
      cObjNum = 1
      1.current = 1
      1.stdWrap.prepend = COA      
      1.stdWrap.prepend.10 = TEXT
      1.stdWrap.prepend.10 < .1
    }
```

Ausgabe lautet nun:

> EinEinganzganznormalernormalerSatzSatzvonvonMir.Mir.

Wichtig ist, dass man vor dem Kopieren des Objektes (< .1) TEXT als Typ zuweist.
Außerdem geht es nicht mit 1.stdWrap.cObject sondern nur mit prepend, append...
in cObject steht wohl der Inhalt selbst u. wenn man den überschreibt ists aus.

### [#10](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/10) · ArminB · 2008-06-09

moin,

einfach mal so ein weiteres Beispiel:

```typoscript
lib.test >
lib.test = TEXT
lib.test {
  value = Ein ganz normaler Satz von Mir.
  split {
    token.char = 32
    cObjNum = 1
    1 {
      10 = TEXT
      10.current = 1
      10.wrap = |
      20 < .10
    }
   }  
}
```

### [#11](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/11) · Danwe · 2008-06-09

Vielen Dank ArminB!
Deine Lösung ist ja noch viel genialer als meine, dadurch dass du das current erst in der Auflistung setzt.

Das erspart mir nun viel Knobelarbeit im weiteren Verlauf. Ich hab schon wieder darüber gegrübelt, wie ich das Split-Ergebnis noch mal splitten kann u. dann jedes zweite Wort anders behandle. Aber so bin ich jetzt schon auf:

```typoscript
    20 = TEXT
    20 {
      value = Noch ein ganz normaler Satz von Mir.
      split {
        token.char = 32
        cObjNum = 1
        1 {
          10 = TEXT
          10.current = 1
          10.wrap = <big>|</big>
          10.crop = 1|
          20 < .10
          20.wrap = |
          20.crop =
          20.substring = 1
          20.noTrimWrap = || |
        }
      } 
    }
```

gekommen, das gibt mir schon die gewünschte Ausgebe von:

```php
<big>E</big>in <big>g</big>anz <big>n</big>ormaler <big>S</big>atz <big>v</big>on <big>M</big>ir.
```

Nun muss ich nur noch prüfen ob es sich um einen großen oder einen kleinen Buchstaben handelt u. wenn es ein kleiner ist, nicht das <big> darum wrappen.

### [#12](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/12) · ArminB · 2008-06-09

moin,

warum löst du das nicht einfach per CSS, <http://www.css4you.de/Texteigenschaften/text-transform.html>

Armin

### [#13](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/13) · Danwe · 2008-06-09

> **ArminB schrieb:**
>
> moin,
>
> warum löst du das nicht einfach per CSS, <http://www.css4you.de/Texteigenschaften/text-transform.html>
>
> Armin

Erklär noch mal genau, was mir das bringen soll?
Wie man an meinem output-HTML sehen kann, möchte ich nur ein <big>-tag um den Ersten Buchstaben eines Wortes.
<big> heist außerdem nicht, dass es groß geschrieben wird, sondern größer dargestellt. Aber das ist mir sowieso egal. ich nutze den  big-Tag nur, um dann mein CSS darauf los zu lassen:

```html
	#leftBar big, #rightBar big, #header ul li big {
		font-size: 15px;
		font-weight: bold;
	}
```

wohingegen die normale Textgröße an der Stelle 12 und nicht fett wäre.
Anstelle des big-Tags könnte ich genau so gut ein <span> oder ein <span class="bigChar"> außenrum machen. Big ist halt klein u. schnuckelig u. passt auch von der Auszeichnung her am besten dazu.

### [#14](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/14) · ArminB · 2008-06-09

moin,

habe mich zu meinem Hinweis von "Nun muss ich nur noch prüfen ob es sich um einen großen oder einen kleinen Buchstaben handelt" verleiten lassen.

Armin

### [#15](https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren/15) · Danwe · 2008-06-09

Verstehe nicht ganz, wie das damit gehen soll?

Ich hab jetzt mal ein wenig mit der .if-Funktion rumprobiert, man müsste irgendwie prüfen ob der ASCII-Wert des ersten Zeichens des Wortes größer als 64 ist. Dann handelt es sich um einen Großbuchstaben. Habs aber leider nicht hin bekommen  #angry#

---

Quelle: „Split-Ergebnisse hintereinander duplizieren“, typo3.net, https://www.typo3.net/d/78177-split-ergebnisse-hintereinander-duplizieren
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
