# bx:clipboard

Das Tag `clipboard` wird verwendet, um sich Werte oder (Quell)Texte zu merken und später auf der Seite wieder auszugeben. Ausgaben von anderen Tags, welche selbst keine Vergleichsfunktionen bieten, können so auch ausgewertet werden (dazu einfach die Ausgabe des Tags mit `clipboard.cut` abfangen und danach mit `clipboard.if` vergleichen).

## clipboard.copy

```xml
<bx:clipboard.copy name="{name}" [trim]> Inhalt </bx:clipboard.copy>
```
Schreibt den Inhalt in das Clipboard und gibt ihn auch auf der Seite aus.

### name
Name des Clipboard, wird auch unter diesem Namen wieder eingefügt

### trim
Entfernt Leerzeichen und Zeilenumbrüchen an Anfang und Ende des gespeicherten und auch des anzuzeigenden Bereiches *(ab v2.5.7)*

## clipboard.cut

```xml
<bx:clipboard.cut name="{name}" [trim]> Inhalt </bx:clipboard.cut>
```
Schreibt den Inhalt in das Clipboard und gibt ihn aber nicht aus. Erklärung der Parameter: siehe oben

## clipboard.paste

```xml
<bx:clipboard.paste [encode="typ"] name="{name}"/>
```
Gibt den Inhalt des Clipboards aus.

### encode
Hiermit kann der ausgegebene Text für verschiedene Formate kodiert werden:htmljavascriptsql (zur Verwendung in SQL für Strings)sql-like (zur Verwendung in SQL mit LIKE)sql-rlike (zur Verwendung in SQL mit RLIKE und REGEXP)urlxml

## clipboard.clear

```xml
<bx:clipboard.clear/>
```
Löscht alle Clipboard-Einträge. Um einen einzelnen Eintrag zu Löschen kann `<bx:clipboard.cut name="Name"/>` verwendet werden.

## clipboard.append

```xml
<bx:clipboard.append [name="{bereich1}"] [trim]>...</bx:clipboard.append>
```
Fügt den Inhalt des Tags zu den bereits gespeicherten Daten hinzu, anstatt die Daten (wie bei cut) zu überschreiben. Der spätere paste-Befehl kann dann die zusammengetragenen Daten ausgeben.

### Beispiele

```xml
<bx:clipboard.cut name="Test">Hallo </bx:clipboard.cut>
<bx:clipboard.append name="Test">Welt</bx:clipboard.append>
Ausgabe "<bx:clipboard.paste name="Test"/>"
```
Am Ende wird "Hallo Welt" ausgegeben.

## clipboard.if

```xml
<bx:clipboard.if [name="{name}"] value="{text}" [not] [trim]> Inhalt </bx:clipboard.if>
<bx:clipboard.if [name="{name}"] value="clipboard:{name}" [not] [trim]> Inhalt </bx:clipboard.if>
<bx:clipboard.if [name="{name}"] contains="{text}" [not]> Inhalt </bx:clipboard.if>
<bx:clipboard.if [name="{name}"] regex="{regex}" [not] [trim]> Inhalt </bx:clipboard.if>
<bx:clipboard.if empty [name="{name}"] [not] [trim]>
```
Damit ist es möglich, einen bestimmten Inhalt abzufragen. *(ab Version 2.5.9)*

### name
Titel des Clipboards

### value  contains  regex
Clipboardinhalt wird mit `text` verglichen, Ausgabe des Tag-Inhalts bei Übereinstimmung (**equals** ist ein Alias von **value**) Ausgabe des Tag-Inhalts, wenn `text` im Clipboardinhalt enthalten ist Ausgabe des Tag-Inhalts, wenn der Clipboardinhalt dem `regex` entspricht (**matches** ist ein Alias von **regex**)

### trim
entfernt Leerzeichen und Zeilenumbrüchen an Anfang und Ende des Clipboard-Inhalts für die Prüfung

### not
kehrt die Funktionalität um

### empty
Abfrage, ob Clipboard leer oder nicht gesetzt ist

### Beispiele

```xml
<bx:clipboard.copy name="text">Hallo Welt </bx:clipboard.copy>
<bx:clipboard.if name="text" value="hallo welt" trim>angezeigt</bx:clipboard.if>
<bx:clipboard.if name="text" contains="welt">angezeigt</bx:clipboard.if>
<bx:clipboard.if name="text" regex=".*Welt ">angezeigt</bx:clipboard.if>
```