> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.de/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# HubL-Filter

> HubL-Filterliste und Beispiele für HubSpot CMS-Entwickler.

Filter beeinflussen die endgültige Ausgabe Ihres HubL-Codes. Sie können auf verschiedene HubL-Anweisungen und -Ausdrücke angewendet werden, um das vom Server ausgegebene Template-Markup zu ändern.

Die grundlegende Syntax eines Filters ist `|filtername`. Der Filter wird direkt nach der Anweisung oder dem Ausdruck innerhalb seiner Trennzeichen eingefügt. Einige Filter haben zusätzliche Parameter, die in Klammern hinzugefügt werden können. Die grundlegende Syntax eines Filters mit einem String, einer Zahl und einem booleschen Parameter lautet: `|filtername("stringParameter", 10, true)`. Beachten Sie, dass String-Parameter in Anführungszeichen geschrieben werden sollten. Beachten Sie auch, dass HubL-Filter einen Alias haben, der für denselben Zweck wie der primäre Filter verwendet werden kann.

Der folgende Artikel enthält alle unterstützten HubL-Filter.

<Warning>
  ### Bitte beachten:

  Sie können HubL-Filter auf [Personalisierungstoken](https://knowledge.hubspot.com/website-pages/personalize-your-content) wie Kontakt- und Unternehmens-Token auf HubSpot CMS- und Blog-Seiten anwenden, jedoch <u>nicht</u> in E-Mails.
</Warning>

## abs

Ruft den Absolutwert einer Zahl ab. Sie können diesen Filter verwenden, um sicherzustellen, dass eine Zahl positiv ist.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_number = -53 %}
  {{ my_number|abs }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  53
  ```
</CodeGroup>

## add

Addiert einen numerischen Wert zu einem anderen numerischen Wert. Dieser Filter funktioniert genauso wie der [Operator +](/cms/reference/hubl/operators-and-expression-tests#math). Der Parameter in Klammern ist der Summand, den Sie mit Ihrem numerischen Ausgangswert kombinieren.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_num = 40 %}
  {{ my_num|add(13) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  53
  ```
</CodeGroup>

## attr

Gibt das Attribut eines Dictionarys wieder; Dieser Filter entspricht dem Ausgeben einer Variablen, die in einem Wörterbuch vorhanden ist, z. B. `content.absolute_url`.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content|attr("absolute_url") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  https://developers.hubspot.com/docs/cms/hubl/filters
  ```
</CodeGroup>

| Parameter        | Beschreibung                                    |
| ---------------- | ----------------------------------------------- |
| `attribute_name` | Gibt an, welches Attribut gedruckt werden soll. |

## batch

Gruppiert Elemente innerhalb einer Sequenz.

Im folgenden Beispiel gibt es eine Variable, die eine Sequenz von Obstsorten enthält. Der `batch`-Filter wird auf eine Schleife angewendet, die die Sequenz durchläuft. Die geschachtelte Schleife wird dreimal durchlaufen, um 3 Obstsorten pro Zeile auszugeben, bevor die äußere Schleife erneut läuft. Beachten Sie in der endgültigen Ausgabe, dass, da es nur 5 Obstsorten gibt, das letzte Element durch ein `&nbsp;` (den zweiten Parameter) ersetzt wird.

<CodeGroup>
  ```html example.html theme={null}
  {% set rows = ["apples", "oranges", "pears", "grapes", "blueberries"] %}

  <table>
  {% for row in rows|batch(3, " ") %}
  <tr>
  {% for column in row %}
  <td>{{ column }}</td>
  {% endfor %}
  </tr>
  {% endfor %}
  </table>
  ```

  ```html example.html theme={null}
  <table>
  <tbody>
  <tr>
  <td>apples</td>
  <td>oranges</td>
  <td>pears</td>
  </tr>
  <tr>
  <td>grapes</td>
  <td>blueberries</td>
  <td>&nbsp;</td>
  </tr>
  </tbody>
  </table>
  ```
</CodeGroup>

| Parameter   | Typ          | Beschreibung                                                              |
| ----------- | ------------ | ------------------------------------------------------------------------- |
| `linecount` | Zahl         | Anzahl der in den Batch aufzunehmenden Elemente                           |
| `fill_with` | Zeichenfolge | Gibt an, was eingeschlossen werden soll, um fehlende Elemente zu ergänzen |

## between\_times

Berechnet die Zeit zwischen zwei datetime-Objekten in einer bestimmten Zeiteinheit.

<Warning>
  ### Bitte beachten:

  Sie sollten diesen Filter <u>nur</u> für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set begin = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
  {% set end = "2018-07-20T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
  {{ begin|between_times(end, "days") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  6
  ```
</CodeGroup>

| Parameter  | Typ             | Beschreibung                                                                                                                                                                            |
| ---------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `end`      | datetime-Objekt | Das End-datetime-Objekt                                                                                                                                                                 |
| `timeunit` | Zeichenfolge    | Gültige Zeiteinheiten sind `nanos`, `micros`, `millis`, `seconds`, `minutes`, `hours`, `half_days`, `days`, `weeks`, `months`, `years`, `decades`, `centuries`, `millennia` und `eras`. |

## bool

Konvertiert einen Text-String-Wert in einen booleschen Wert.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% if "true"|bool == true %}hello world{% endif %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  hello world
  ```
</CodeGroup>

## capitalize

Großschreibung des ersten Buchstabens eines Variablenwerts; Das erste Zeichen wird großgeschrieben, alle anderen Buchstaben werden kleingeschrieben. Bei nachfolgenden Wörtern, die durch Leerzeichen oder Bindestriche getrennt sind, wird der erste Buchstabe nicht großgeschrieben.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set sentence = "the first letter of a sentence should always be capitalized." %}
  {{ sentence|capitalize }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  The first letter of a sentence should always be capitalized.
  ```
</CodeGroup>

## center

Zentriert Text innerhalb einer bestimmten Feldlänge unter Verwendung von Leerzeichen; Dieser Filter wird nicht empfohlen und ist auch nicht besonders nützlich, da der HTML-Compiler von HubSpot die Leerzeichen automatisch entfernt; er ist hier jedoch der Vollständigkeit halber aufgeführt.

Das folgende Beispiel zeigt, wie dieser Filter auf eine Variable in einem pre-Tag angewendet wird, sodass die Leerzeichen nicht entfernt werden.

<CodeGroup>
  ```html example.html theme={null}
  <pre>
  {% set var = "string to center" %}
  before{{ var|center(80) }}after
  </pre>
  ```

  ```html example.html theme={null}
  <pre>
  before                                string to center                                after
  </pre>
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                                           |
| --------- | ---- | ---------------------------------------------------------------------- |
| `width`   | Zahl | Gibt die Länge des Leerraums an, in dem der Text zentriert werden soll |

## convert\_rgb

Konvertiert einen HEX-Wert in einen RGB-String. Dies ist nützlich, wenn Sie Farbvariablen in RGB konvertieren müssen, um sie mit einer RGBA-CSS-Deklaration zu verwenden. Im folgenden Beispiel wird der von einem Farbmodul festgelegte Wert in einen RGB-Wert umgewandelt und in einer RGBA-CSS-Deklaration verwendet.

<CodeGroup>
  ```html example.html theme={null}
  {% set my_color = "#FFFFFF" %}
  {{ my_color|convert_rgb }}
  {% set my_color2="#000000" %}
  <div style="background: rgba({{ my_color2|convert_rgb }}, .5)"></div>
  ```

  ```html example.html theme={null}
  255, 255, 255

  <div style="background: rgba(0, 0, 0, .5)"></div>
  ```
</CodeGroup>

## cut

Entfernt einen String aus einem Wert. Dieser Filter kann verwendet werden, um einen bestimmten Teil eines Strings abzugleichen und auszuschneiden. Der Parameter gibt den Teil des Strings an, der entfernt werden soll. Im folgenden Beispiel werden das Leerzeichen und das Wort „world“ aus dem ursprünglichen Variablenwert entfernt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_string = "Hello world." %}
  {{ my_string|cut(" world") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Hello.
  ```
</CodeGroup>

| Parameter           | Typ          | Beschreibung                                    |
| ------------------- | ------------ | ----------------------------------------------- |
| `characters_to_cut` | Zeichenfolge | Der Teil des Strings, der entfernt werden soll. |

## datetimeformat (veraltet)

<Warning>
  **Bitte beachten:** Dieser Filter ist mittlerweile [veraltet](/cms/versions-deprecations/deprecated/hubl/filters-functions#datetimeformat-function). Verwenden Sie stattdessen den [format\_datetime](#format_datetime)-Filter, der eine stärker standardisierte Syntax verwendet.
</Warning>

## default

Wenn der Wert undefiniert ist, wird der erste Parameter zurückgegeben, andernfalls wird der Wert der Variablen gedruckt. Wenn Sie default mit Variablen verwenden wollen, die als false ausgewertet werden, müssen Sie den zweiten Parameter auf `true` festlegen.

Das erste Beispiel unten würde die Meldung drucken, wenn die Variable nicht definiert ist. Das zweite Beispiel wendet den Filter auf eine leeren Zeichenfolge an, die nicht undefiniert ist, gibt aber aufgrund des zweiten Parameters eine Meldung aus.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ my_variable|default("my_variable is not defined") }}
  {{ ""|default("the string was empty", true) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  my_variable is not defined the string was empty
  ```
</CodeGroup>

| Parameter       | Typ          | Beschreibung                                                                                                                                            |
| --------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `default_value` | Zeichenfolge | Wert, der zurückgegeben wird, wenn die Variable undefiniert ist. Wenn die Variable definiert ist, wird stattdessen der Wert der Variable zurückgegeben. |
| `truthy`        | Boolesch     | Wert auf `true` zur Verwendung mit Variablen, die als `false` ausgewertet werden                                                                        |

## dictsort

Sortiert ein Dict und ergibt (Schlüssel, Wert) Paare. Dictionaries sind standardmäßig unsortiert. Sie können ein Dictionary jedoch nach Schlüssel oder Wert sortiert ausgeben. Der erste Parameter ist ein boolescher Wert, der angibt, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird oder nicht. Der zweite Parameter bestimmt, ob das Dict nach Schlüssel oder Wert sortiert werden soll. Das folgende Beispiel druckt ein sortiertes Kontaktverzeichnis mit allen bekannten Details zum Kontakt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% for item in contact|dictsort(false, "value") %}
  {{item}}
  {% endfor %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  A sorted contact dictionary
  ```
</CodeGroup>

| Parameter        | Typ                  | Beschreibung                                                                           |
| ---------------- | -------------------- | -------------------------------------------------------------------------------------- |
| `case_sensitive` | Boolesch             | Legt fest, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird |
| `sort_by`        | `"key"` \| `"value"` | Bestimmt, ob nach `key` oder `value` sortiert werden soll                              |

## difference

Gibt die Differenz von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in der ersten Liste, aber nicht in der zweiten Liste enthalten sind.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ [1, 2, 3]|difference([2, 3, 4, 5]) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [1]
  ```
</CodeGroup>

| Parameter | Typ   | Beschreibung                                                                                              |
| --------- | ----- | --------------------------------------------------------------------------------------------------------- |
| `list`    | Array | Die zweite Liste, die zum Vergleich herangezogen wird, um Unterschiede zur ursprünglichen Liste zu finden |

## divide

Teilt den aktuellen Wert durch einen Divisor; Der übergebene Parameter ist der Divisor. Dieser Filter ist eine Alternative zum Operator /.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set numerator = 106 %}
  {{ numerator|divide(2) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  53
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                         |
| --------- | ---- | ---------------------------------------------------- |
| `divisor` | Zahl | Die Zahl, durch die die Variable geteilt werden soll |

## divisible

Als Alternative zum Test des Ausdrucks `divisibleby` wird dieser Filter zu „true“ ausgewertet, wenn der Wert durch die angegebene Zahl teilbar ist.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set num = 10 %}
  {% if num|divisible(2) %}
  The number is divisible by 2
  {% endif %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  The number is divisible by 2
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                                                    |
| --------- | ---- | ------------------------------------------------------------------------------- |
| `divisor` | Zahl | Die Zahl, die verwendet werden soll, wenn geprüft wird, ob der Wert teilbar ist |

## escape\_html

Versieht den Inhalt mit Escape-Zeichen einer HTML-Eingabe. Akzeptiert einen String und konvertiert die Zeichen `&`, `<`, `>`, `‘`, `”` und `escape_jinjava` in HTML-sichere Sequenzen. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Codes verwendet werden, aber kein HTML zulassen dürfen.

<CodeGroup>
  ```html example.html theme={null}
  {% set escape_string = "<div>This markup is printed as text</div>" %}
  {{ escape_string|escape_html }}
  ```

  ```html example.html theme={null}
  <div>This markup is printed as text</div>
  ```
</CodeGroup>

## escape\_attr

Versieht den Inhalt mit Escape-Zeichen einer HTML-Attributeingabe. Akzeptiert einen String und konvertiert die Zeichen `&`, `<`, `‘`, `”` und `escape_jinjava` in HTML-sichere Sequenzen. Verwenden Sie diesen Filter für HubL-Variablen, die HTML-Attributen hinzugefügt werden.

Beachten Sie, dass Sie beim Escaping von Werten von Attributen, die URLs akzeptieren, wie z. B. `href`, stattdessen den Filter `escape_url` verwenden müssen.

<CodeGroup>
  ```html example.html theme={null}
  {% set escape_string = "This <br> markup is printed as text" %}
  <img src="test.com/imageurl" alt="{{escape_string|escape_attr}}">
  ```

  ```html example.html theme={null}
  <img src="test.com/imageurl" alt="This <br> markup is printed as text" />
  ```
</CodeGroup>

## escape\_jinjava

Konvertiert die Zeichen `{` und `}` in Strings in Jinjava-sichere Sequenzen. Verwenden Sie diesen Filter, wenn Sie Text anzeigen müssen, der solche Zeichen in Jinjava enthalten könnte.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "{{This markup is printed as text}}" %}
  {{ escape_string|escape_jinjava }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  {{This markup is printed as text}}
  ```
</CodeGroup>

## escape\_js

Versieht Strings mit Escape-Zeichen, einschließlich `escape_jinjava`, sodass sie sicher in eine JavaScript-Variablendeklaration eingefügt werden können. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Skriptelementen verwendet werden.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "\tThey said 'This string can safely be inserted into JavaScript.'" %}
  {{ escape_string|escape_js }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  \tThey said \x27This string can safely be inserted into JavaScript.\x27
  ```
</CodeGroup>

## escape\_url

Versieht den Inhalt einer URL-Eingabe mit Escape-Zeichen, erzwingt festgelegte Protokolle, entfernt ungültige und gefährliche Zeichen und kodiert HTML-Entitäten. Gibt eine leere Antwort zurück, wenn eine URL gültig ist. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Attributen verwendet werden. Es müssen gültige URLs sein.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "http://example.com/with space/<html>" %}
  <a href="https://developers.hubspot.de/docs{{ escape_string|escape_url }}"></a>
  ```

  ```text gerenderte ausgabe.txt theme={null}
  <a href="http://example.com/with%20space/%3Chtml%3E"></a>
  ```
</CodeGroup>

## escapejson

Versieht Strings mit Escape-Zeichen, sodass sie als JSON-Werte verwendet werden können.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "<script>alert('oh no!')</script>" %}
  {% require_js position="head" %}
  <script data-search_input-config="config_{{ name }}" type="application/json">
  {
  "autosuggest_results_message": "{{ escape_string|escapejson }}"
  }
  </script>
  {% end_require_js %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  <script
  data-search_input-config="config_widget_1234567"
  type="application/json"
  >
  {
  "autosuggest_results_message": "<script>alert('oh no!')<\/script>"
  }
  </script>
  ```
</CodeGroup>

## filesizeformat

Formatiert einen Zahlenwert in eine für Menschen lesbare Dateigröße (z. B. 13 kB, 4,1 MB, 102 Bytes usw.). Standardmäßig werden Dezimalpräfixe verwendet (z. B. MB und GB), aber Sie können den `binary`-Parameter auf `true` festlegen, um binäre Präfixe wie Mebi (MiB) und Gibi (GiB) zu verwenden.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set bytes = 10000 %}
  {{ bytes|filesizeformat(binary=true) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  9.8 KiB
  ```
</CodeGroup>

| Parameter | Typ      | Beschreibung                                                                                |
| --------- | -------- | ------------------------------------------------------------------------------------------- |
| `binary`  | Boolesch | Bei Festlegung auf `true` werden binäre Präfixe verwendet, z. B. Mebi (MiB) und Gibi (GiB). |

## first

Gibt das erste Element in einer Sequenz zurück.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
  {{ my_sequence|first }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Item 1
  ```
</CodeGroup>

## float

Wandelt den Wert in eine Fließkommazahl um; Wenn die Konvertierung nicht funktioniert, wird `0.0` zurückgegeben. Sie können diese Vorgabe mit dem ersten Parameter außer Kraft setzen.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_text="25" %}
  {{ my_text|float + 17 }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  42.0
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                                               |
| --------- | ---- | -------------------------------------------------------------------------- |
| `default` | Zahl | Integer, der zurückgegeben wird, wenn die Konvertierung nicht funktioniert |

## forceescape

Strenge Durchsetzung von HTML-Escaping; In der HubSpot-Umgebung gibt es keinen echten Anwendungsfall für doppeltes Escaping, daher verhält sich dieser Filter im Allgemeinen genauso wie der escape-Filter.

<CodeGroup>
  ```html example.html theme={null}
  {% set escape_string = "<div>This markup is printed as text</div>" %}
  {{ escape_string|forceescape }}
  ```

  ```html example.html theme={null}
  <div>This markup is printed as text</div>
  ```
</CodeGroup>

## format

Wendet die Python-Zeichenfolge-Formatierung auf ein Objekt an. `%s` kann durch eine andere Variable ersetzt werden.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ "Hi %s %s"|format(contact.firstname, contact.lastname) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Hi Monty Python
  ```
</CodeGroup>

## format\_currency (veraltet)

<Warning>
  ### Bitte beachten:

  Dieser Filter ist mittlerweile [veraltet](/cms/versions-deprecations/deprecated/hubl/filters-functions). Verwenden Sie stattdessen den [format\_currency\_value](#format-currency-value)-Filter.
</Warning>

## format\_currency\_value

Formatiert eine gegebene Zahl als Währung basierend auf der Standardwährung des Portals und dem als Parameter übergebenen Gebietsschema. Ersetzt den veralteten [format\_currency-Filter](/cms/versions-deprecations/deprecated/hubl/filters-functions#format-currency).

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 100 | format_currency_value(locale='en-GB', currency='EUR', maxDecimalDigits=6, minDecimalDigits=1) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  €100.0
  ```
</CodeGroup>

| Parameter          | Typ          | Beschreibung                                                                                                                                                                                                                                    |
| ------------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `locale`           | Zeichenfolge | [Das Sprach-Tag des Java-Gebietsschemas](https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html). Der Standard ist das `locale.Format : ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercase`-Format der Seite. |
| `currency`         | Zeichenfolge | Der [alphabetische ISO 4217-Code](https://en.wikipedia.org/wiki/ISO_4217) der Währung; Standard ist die Standardwährung des Portals. Numerische Codes werden nicht akzeptiert.                                                                  |
| `minDecimalDigits` | Zahl         | Die Mindestanzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Standardanzahl der Dezimalstellen der Währung verwendet.                                                                                             |
| `maxDecimalDigits` | Zahl         | Die maximale Anzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Standardanzahl der Dezimalstellen der Währung verwendet.                                                                                           |

## format\_date

Formatiert die date-Komponente eines date-Objekts.

<Warning>
  ### Bitte beachten:

  Sie sollten diesen Filter <u>nur</u> für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content.publish_date | format_date('long') }}
  {{ content.publish_date | format_date('yyyy.MMMM.dd') }}
  {{ content.publish_date | format_date('medium', 'America/New_York', 'de-DE') }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  November 28, 2022 02022.November.28 28.11.2022
  ```
</CodeGroup>

| Parameter  | Typ                                                                           | Beschreibung                                                                                                                                                                                                        |
| ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`   | `'short'` \| `'medium'` \| `'long'` \| `'full'` \| benutzerdefiniertes Muster | Das zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß [Unicode LDML](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns) sein.                                                    |
| `timeZone` | Zeichenfolge                                                                  | Die Zeitzone des Ausgabedatums im [IANA-TZDB-Format](https://data.iana.org/time-zones/tzdb/)                                                                                                                        |
| `locale`   | Zeichenfolge                                                                  | Das Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe [Liste der unterstützten Gebietsschemata](https://www.oracle.com/java/technologies/javase/java8locales.html). |

## format\_datetime

Formatiert sowohl die date- als auch die time-Komponente eines date-Objekts. Dieser Filter ersetzt den veralteten [datetimeformat](/cms/versions-deprecations/deprecated/hubl/filters-functions#datetimeformat-filter)-Filter. Standardmäßig wird eine Datetime in der Zeitzone UTC-00:00 zurückgegeben.

<Warning>
  ### Bitte beachten:

  Sie sollten diesen Filter <u>nur</u> für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content.publish_date | format_datetime('medium', 'America/New_York', 'de-DE') }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  12/31/69 7:00 PM
  ```
</CodeGroup>

| Parameter  | Typ                                                                           | Beschreibung                                                                                                                                                                                                                                                                                                                                                                                |
| ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`   | `'short'` \| `'medium'` \| `'long'` \| `'full'` \| benutzerdefiniertes Muster | Das zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß [Unicode LDML](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns) sein. Wenn `long` oder `full` verwendet werden, enthält der Zeitstempel ein Z, um die Nullpunktverschiebung zur UTC-Zeit (z. B. `2:23:00 PM Z`) zu kennzeichnen. Um den Z-Bezeichner zu entfernen, geben Sie eine `timeZone` an. |
| `timeZone` | Zeichenfolge                                                                  | Die Zeitzone des Ausgabedatums im [IANA-TZDB-Format](https://data.iana.org/time-zones/tzdb/); Standardmäßig wird die UTC-Zeit zurückgegeben.                                                                                                                                                                                                                                                |
| `locale`   | Zeichenfolge                                                                  | Das Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe [Liste der unterstützten Gebietsschemata](https://www.oracle.com/java/technologies/javase/java8locales.html).                                                                                                                                                                         |

## format\_number

Formatiert eine Zahl basierend auf einem festgelegten Gebietsschema. Umfasst einen zweiten Parameter, der die maximale Dezimalgenauigkeit festlegt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 1000|format_number('en-US') }}
  {{ 1000.333|format_number('fr') }}
  {{ 1000.333|format_number('en-US', 2) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  1,000
  1 000,333
  1,000.33
  ```
</CodeGroup>

| Parameter          | Typ          | Beschreibung                                                                                                                                                                  |
| ------------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `locale`           | Zeichenfolge | Das Gebietsschema, das für Formate verwendet werden soll. Siehe [Liste der unterstützten Gebietsschemata](https://www.oracle.com/java/technologies/javase/java8locales.html). |
| `maxDecimalDigits` | Zahl         | Die maximale Anzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Anzahl der Dezimalstellen vom Eingabewert verwendet.                             |

## format\_time

Formatiert die Uhrzeitkomponente eines date-Objekts.

<Warning>
  ### Bitte beachten:

  Sie sollten diesen Filter <u>nur</u> für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content.updated | format_time('long') }}
  {{ content.updated | format_time('hh:mm a') }}
  {{ content.updated | format_time('medium', 'America/New_York', 'de-DE') }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  3:25:06 PM Z 03:25 PM 10:25:44
  ```
</CodeGroup>

| Parameter  | Typ                                                                           | Beschreibung                                                                                                                                                                                                                                                                                                                                                                                |
| ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`   | `'short'` \| `'medium'` \| `'long'` \| `'full'` \| benutzerdefiniertes Muster | Das zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß [Unicode LDML](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns) sein. Wenn `long` oder `full` verwendet werden, enthält der Zeitstempel ein Z, um die Nullpunktverschiebung zur UTC-Zeit (z. B. `2:23:00 PM Z`) zu kennzeichnen. Um den Z-Bezeichner zu entfernen, geben Sie eine `timeZone` an. |
| `timeZone` | Zeichenfolge                                                                  | Die Zeitzone des Ausgabedatums im [IANA-TZDB-Format](https://data.iana.org/time-zones/tzdb/); Standardmäßig wird die UTC-Zeit zurückgegeben.                                                                                                                                                                                                                                                |
| `locale`   | Zeichenfolge                                                                  | Das Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe [Liste der unterstützten Gebietsschemata](https://www.oracle.com/java/technologies/javase/java8locales.html).                                                                                                                                                                         |

## fromjson

Konvertiert einen JSON-String in ein Objekt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set obj ='{ "name":"Brian","role":"Owner" }' %}
  {{ obj|fromjson }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  {role=Owner, name=Brian}
  ```
</CodeGroup>

## geo\_distance

Berechnet den ellipsoiden 2D-Abstand zwischen zwei Punkten auf der Erde.

<CodeGroup>
  ```text hubl.txt theme={null}
  <!-- in the example below
  the HubDB Location =
  42.3667, -71.1060 (Cambridge, MA) |
  Chicago, IL = 37.3435, -122.0344 -->
  {{ row.location | geo_distance(37.3435, -122.0344, "mi") }} MI
  ```

  ```text gerenderte ausgabe.txt theme={null}
  861.1655563461395 MI
  ```
</CodeGroup>

## groupby

Gruppiert eine Sequenz von Objekten nach einem gemeinsamen Attribut; Der Parameter legt das gemeinsame Attribut fest, nach dem gruppiert werden soll.

<CodeGroup>
  ```html example.html theme={null}
  <ul>
  {% for group in contents|groupby("blog_post_author") %}
  <li>{{ group.grouper }}
  <ul>
  {% for content in group.list %}
  <li>{{ content.name }}</li>
  {% endfor %}
  </ul>
  </li>
  {% endfor %}
  </ul>
  ```

  ```text gerenderte ausgabe.txt theme={null}
  <ul>
  <li>
  Blog author 1
  <ul>
  <li>Post by Blog author 1</li>
  <li></li>
  <li>Post by Blog author 1</li>
  <li></li>
  <li>Post by Blog author 1</li>
  <li></li>
  </ul>
  </li>
  <li>
  Blog author 2
  <ul>
  <li>Post by Blog author 2</li>
  <li></li>
  <li>Post by Blog author 2</li>
  <li></li>
  <li>Post by Blog author 2</li>
  <li></li>
  </ul>
  </li>
  <li>
  Blog author 3
  <ul>
  <li>Post by Blog author 3</li>
  <li></li>
  <li>Post by Blog author 3</li>
  <li></li>
  <li>Post by Blog author 3</li>
  <li></li>
  </ul>
  </li>
  </ul>
  ```
</CodeGroup>

| Parameter   | Beschreibung                                  |
| ----------- | --------------------------------------------- |
| `attribute` | Das Attribut, nach dem gruppiert werden soll. |

## indent

Zieht Text innerhalb einer bestimmten Feldlänge unter Verwendung von Leerzeichen ein; Dieser Filter wird nicht empfohlen und ist auch nicht besonders nützlich, da der HTML-Compiler von HubSpot die Leerzeichen automatisch entfernt. Der Vollständigkeit halber ist er hier jedoch aufgeführt. Das folgende Beispiel zeigt, wie ein `indent`-Filter auf eine Variable in einem `<pre>`-Tag angewendet wird, sodass die Leerzeichen nicht entfernt werden. Der erste Parameter steuert die Menge an Leerzeichen, und der zweite boolesche Parameter bestimmt, ob die erste Zeile eingerückt werden soll.

<CodeGroup>
  ```html example.html theme={null}
  <pre>
  {% set var = "string to indent" %}
  {{ var|indent(2, true) }}
  </pre>
  ```

  ```text gerenderte ausgabe.txt theme={null}
  string to indent
  ```
</CodeGroup>

| Parameter      | Typ      | Beschreibung                                               |
| -------------- | -------- | ---------------------------------------------------------- |
| `width`        | Zahl     | Die Menge an Leerzeichen, die angewendet werden soll       |
| `indent-first` | Boolesch | Bei Festlegung auf `true` wird die erste Zeile eingerückt. |

## int

Konvertiert den Wert in eine Ganzzahl; Wenn die Konvertierung nicht funktioniert, wird `0` zurückgegeben. Sie können diese Vorgabe mit dem ersten Parameter außer Kraft setzen.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set string="25" %}
  {{ string|int + 17 }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  42
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                                               |
| --------- | ---- | -------------------------------------------------------------------------- |
| `default` | Zahl | Integer, der zurückgegeben wird, wenn die Konvertierung nicht funktioniert |

## intersect

Dieser Filter gibt die Schnittmenge von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in beiden Listen enthalten sind.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ [1, 2, 3]|intersect([2, 3, 4, 5]) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [2, 3]
  ```
</CodeGroup>

| Parameter | Typ   | Beschreibung                                                                                                                      |
| --------- | ----- | --------------------------------------------------------------------------------------------------------------------------------- |
| `list`    | Array | Die zweite Liste, mit der verglichen werden soll, um herauszufinden, wo sich die Liste mit der ursprünglichen Liste überschneidet |

## ipaddr

Wird zu `true` ausgewertet, wenn der Wert eine gültige IPv4- oder IPv6-Adresse ist.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set ip = "1.0.0.1" %}
  {% if ip|ipaddr %}
  The string is a valid IP address
  {% endif %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  The string is a valid IP address
  ```
</CodeGroup>

## join

Gibt einen String zurück, die die Verkettung der Strings in der Sequenz ist; Das Trennzeichen zwischen den Elementen ist standardmäßig ein leerer String, Sie können es mit dem optionalen Parameter definieren. Der zweite Parameter kann verwendet werden, um ein zu verbindendes Attribut anzugeben.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_list = [1, 2, 3] %}
  {% set sep = "---" %}
  {{ my_list|join }}
  {{ my_list|join("|") }}
  {{ my_list|join(sep) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  123 1|2|3 1---2---3
  ```
</CodeGroup>

| Parameter   | Typ           | Beschreibung                                                        |
| ----------- | ------------- | ------------------------------------------------------------------- |
| `delimiter` | Zeichenfolge  | Das Trennzeichen, das bei der Verkettung von Strings verwendet wird |
| `attribute` | HubL-Variable | Attribut des Werts, der zu einem Objekt hinzugefügt werden soll     |

## last

Gibt das letzte Element einer Sequenz zurück.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
  {% my_sequence|last %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Item 3
  ```
</CodeGroup>

## length

Gibt die Anzahl der Elemente einer Sequenz oder einer Zuordnung zurück.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set services = ["Web design", "SEO", "Inbound Marketing", "PPC"] %}
  {{ services|length }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  4
  ```
</CodeGroup>

## list

Konvertiert Werte in eine Liste um; Zeichenfolgen werden als separate Zeichen zurückgegeben, es sei denn, sie sind in eckigen Klammern `[ ]` enthalten.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set one = 1 %}
  {% set two = 2 %}
  {% set three = "three" %}
  {% set four = ["four"] %}
  {% set list_num = one|list + two|list + three|list + four|list %}
  {{ list_num }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [1, 2, t, h, r, e, e, four]
  ```
</CodeGroup>

## log

Berechnet den natürlichen Logarithmus einer Zahl.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 10|log }}
  {{ 65536|log(2) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  2.302585092994046 16.0
  ```
</CodeGroup>

| Parameter | Typ  | Beschreibung                                                     |
| --------- | ---- | ---------------------------------------------------------------- |
| `base`    | Zahl | Die Basis, die für die Protokollberechnung verwendet werden soll |

## lower

Konvertiert alle Buchstaben in einem Wert in Kleinbuchstaben.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set text="Text to MAKE LowercaSe" %}
  {{ text|lower }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  text to make lowercase
  ```
</CodeGroup>

## map

Wendet einen Filter auf eine Sequenz von Objekten an oder sucht nach einem Attribut. Dies ist nützlich, wenn man mit Listen von Objekten arbeitet, aber eigentlich nur an einem bestimmten Wert interessiert ist.

Die grundlegende Verwendung ist das Mapping auf ein Attribut. Wenn Sie z. B. mithilfe von bedingter Logik prüfen wollen, ob ein Wert in einem bestimmten Attribut eines Dict vorhanden ist. Alternativ können Sie auch einen Filter aufrufen lassen, indem Sie den Namen des Filters und die Argumente übergeben.

<CodeGroup>
  ```text hubl.txt theme={null}
  {# Usage 1 #}
  Apply a filter to a sequence:
  {% set seq = ["item1", "item2", "item3"] %}
  {{ seq|map("upper") }}

  {# Usage 2 #}
  Look up an attribute:
  {{ content|map("currentState")}}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Apply a filter to a sequence: [ITEM1, ITEM2, ITEM3]
  Look up an attribute: [DRAFT]
  ```
</CodeGroup>

| Parameter | Typ          | Beschreibung                                                    |
| --------- | ------------ | --------------------------------------------------------------- |
| `filter`  | Zeichenfolge | Filter, der auf die Sequenz von Objekten angewendet werden soll |

## md5

Berechnet den [md5-Hash](https://en.wikipedia.org/wiki/MD5) des angegebenen Objekts.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content.absolute_url|md5 }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  923adb4ce05a4c6342c04c80be88d15e
  ```
</CodeGroup>

## minus\_time

Zieht eine Zeitdauer von einem datetime-Objekt ab.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
  {{ date }}
  {{ date|minus_time(2, "months") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  2018-07-14 14:31:30 2018-05-14 14:31:30
  ```
</CodeGroup>

| Parameter  | Typ          | Beschreibung                                                                                                                                                                            |
| ---------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `diff`     | Zahl         | Betrag, der abgezogen werden soll                                                                                                                                                       |
| `timeunit` | Zeichenfolge | Gültige Zeiteinheiten sind `nanos`, `micros`, `millis`, `seconds`, `minutes`, `hours`, `half_days`, `days`, `weeks`, `months`, `years`, `decades`, `centuries`, `millennia` und `eras`. |

## multiply

Multipliziert einen Wert mit einer Zahl. Funktioniert genauso wie der [Operator \*](/cms/reference/hubl/operators-and-expression-tests).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set n = 20 %}
  {{ n|multiply(3) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  60
  ```
</CodeGroup>

## plus\_time

Addiert eine Zeitdauer zu einem datetime-Objekt hinzu.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
  {{ date }}
  {{ date|plus_time(5, "days") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  2018-07-14 14:31:30 2018-07-19 14:31:30
  ```
</CodeGroup>

| Parameter  | Typ          | Beschreibung                                                                                                                                                                            |
| ---------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `diff`     | Zahl         | Betrag, der abgezogen werden soll                                                                                                                                                       |
| `timeunit` | Zeichenfolge | Gültige Zeiteinheiten sind `nanos`, `micros`, `millis`, `seconds`, `minutes`, `hours`, `half_days`, `days`, `weeks`, `months`, `years`, `decades`, `centuries`, `millennia` und `eras`. |

## pprint

Gibt eine Variable als pretty print aus. Dies druckt den Typ der Variablen und andere Informationen, die für das Debugging nützlich sind.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set this_var ="Variable that I want to debug" %}
  {{ this_var|pprint }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  (String: Variable that I want to debug)
  ```
</CodeGroup>

## random

Gibt ein zufälliges Element aus der Sequenz zurück.

<Warning>
  ### Bitte beachten:

  Bei Verwendung dieses Filters wird die Seite nicht jedes Mal, wenn der Seiteninhalt aktualisiert wird, sondern in regelmäßigen Abständen [vorgerendert](/cms/best-practices/testing-staging-performance/prerendering). Dies bedeutet, dass der gefilterte Inhalt <u>nicht</u> bei jedem erneuten Laden der Seite aktualisiert wird.

  Dies ist möglicherweise kein Problem für bestimmte Arten von Inhalten, z. B. die Anzeige einer zufälligen Liste von Blog-Beiträgen. Wenn Inhalte jedoch bei jedem Laden der Seite zufällig geändert werden müssen, sollten Sie stattdessen JavaScript verwenden, um den Inhalt client-seitig zu randomisieren.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% for content in contents|random %}
  <div class="post-item">Post item markup</div>
  {% endfor %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  <div class="post-item">Random post</div>
  ```
</CodeGroup>

## regex\_replace

Sucht nach einem Regex-Muster und ersetzt es durch eine Sequenz von Zeichen. Das erste Argument ist ein Regex-Muster im RE2-Stil, das zweite ist der Ersatz-String.

Erfahren Sie mehr über die [RE2-Regex-Syntax](https://github.com/google/re2/wiki/Syntax).

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ "contact-us-2"|regex_replace("[^a-zA-Z]", "") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  contactus
  ```
</CodeGroup>

## reject

Filtert eine Sequenz von Objekten, indem ein [Ausdruckstest](/cms/reference/hubl/operators-and-expression-tests) auf das Objekt angewendet wird und die Objekte, bei denen der Test erfolgreich war, zurückgewiesen werden.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
  {{ some_numbers|reject("even") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [13, 3, 5, 17]
  ```
</CodeGroup>

| Parameter  | Typ          | Beschreibung                                                                                                                                  |
| ---------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `exp_text` | Zeichenfolge | Der Name des [Ausdruckstests](/cms/reference/hubl/operators-and-expression-tests#expression-tests), der auf das Objekt angewendet werden soll |

## rejectattr

Filtert eine Sequenz von Objekten, indem ein Test auf ein Attribut eines Objekts angewendet wird und die Objekte abgelehnt werden, bei denen der Test erfolgreich war.

<CodeGroup>
  ```html example.html theme={null}
  {% for content in contents|rejectattr("post_list_summary_featured_image") %}
  <div class="post-item">
  {% if content.post_list_summary_featured_image %}
  <div class="hs-featured-image-wrapper">
  <a href="https://developers.hubspot.de/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
  <img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
  </a>
  </div>
  {% endif %}
  {{ content.post_list_content|safe }}
  </div>
  {% endfor %}
  ```

  ```html example.html theme={null}
  <div class="post-item">Post with no featured image</div>
  <div class="post-item">Post with no featured image</div>
  <div class="post-item">Post with no featured image</div>
  ```
</CodeGroup>

| Parameter        | Typ          | Beschreibung                                                                                                                                  |
| ---------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `attribute_name` | Zeichenfolge | Gibt das auszuwählende Attribut an; Mithilfe der Punktnotation können Sie auf verschachtelte Attribute zugreifen.                             |
| `exp_test`       | Zeichenfolge | Der Name des [Ausdruckstests](/cms/reference/hubl/operators-and-expression-tests#expression-tests), der auf das Objekt angewendet werden soll |

## render

Rendering von Strings, die HubL enthalten, damit die Ausgabe an andere Filter weitergegeben werden kann

<CodeGroup>
  ```html example.html theme={null}
  {{ personalization_token("contact.lastname", "default value")|render|lower }}
  ```

  ```html example.html theme={null}
  mclaren
  ```
</CodeGroup>

## replace

Ersetzt alle Instanzen eines Substrings durch eine neue.

<CodeGroup>
  ```html example.html theme={null}
  {% if topic %}
  <h3>Posts about {{ page_meta.html_title|replace("Blog | ", "") }}</h3>
  {% endif %}
  ```

  ```html example.html theme={null}
  <h3>Posts about topic name</h3>
  ```
</CodeGroup>

| Parameter | Typ          | Beschreibung                                                        |
| --------- | ------------ | ------------------------------------------------------------------- |
| `old`     | Zeichenfolge | Der Substring, der ersetzt werden soll                              |
| `new`     | Zeichenfolge | Ersatz-String                                                       |
| `count`   | Zahl         | Falls angegeben, werden nur die Vorkommen der ersten Anzahl ersetzt |

## reverse

Kehrt das Objekt um oder gibt einen Iterator zurück, der das Objekt in umgekehrter Reihenfolge durchläuft; Um eine Liste umzukehren, verwenden Sie [.reverse()](/cms/reference/hubl/functions#reverse)

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] %}
  {% for num in nums|reverse %}
  {{ num }}
  {% endfor %}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  10 9 8 7 6 5 4 3 2 1
  ```
</CodeGroup>

## root

Berechnet die Quadratwurzel eines Wertes.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 16|root }}
  {{ 625|root(4) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  4 5
  ```
</CodeGroup>

| Parameter  | Typ  | Beschreibung                                                  |
| ---------- | ---- | ------------------------------------------------------------- |
| `nth_root` | Zahl | Die n-te Wurzel, die für die Berechnung verwendet werden soll |

## round

Rundet eine Zahl auf eine bestimmte Genauigkeit.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 52.5|round }}
  {{ 52.5|round(0, "floor") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  53 52
  ```
</CodeGroup>

| Parameter         | Typ                                            | Beschreibung                                                                                             |
| ----------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `precision`       | Zahl                                           | Gibt die Genauigkeit der Rundung an                                                                      |
| `rounding_method` | `'common'` (Standard) \| `'ceil'` \| `'floor'` | Optionen umfassen `common` auf- oder abrunden (Standard); `ceil` immer aufrunden; `floor` immer abrunden |

## safe

Markieren Sie einen Wert als sicher, was bedeutet, dass diese Variable in einer Umgebung, in der automatisches Escaping aktiviert ist, nicht mit Escape-Zeichen versehen wird.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ content.post_list_content|safe }}
  ```

  ```html example.html theme={null}
  <p>HTML post content that is not escaped.</p>
  ```
</CodeGroup>

## sanitize\_html

Bereinigt den Inhalt einer HTML-Eingabe für die Ausgabe von Rich-Text-Inhalten. Akzeptiert einen String und entfernt dann HTML-Tags, die nicht zulässig sind. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Codes verwendet werden und sicheres HTML ermöglichen sollen.

Sie können die folgenden Parameter einschließen, um bestimmte Typen von HTML-Tags zuzulassen: `FORMATTING`, `BLOCKS`, `STYLES`, `LINKS`, `TABLES`, `IMAGES`. Zum Beispiel: `sanitize_html(IMAGES)`.

Mit `sanitize_html` werden alle Parameter in den Filter aufgenommen.

Sie können auch einen `STRIP`-Parameter einfügen, um <u>alle HTML-Codes</u> zu entfernen. Alle Inhalte werden auch über `escape_jinjava` ausgeführt, um eine verschachtelte Interpretation zu verhindern.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "This <br> <div>markup is <img src='test.com/image'> <span>printed</span> as text.</div>" %}
  {{ escape_string|sanitize_html("IMAGES") }}
  ```

  ```html example.html theme={null}
  This  markup is <img src="test.com/image"> printed as text.</div>
  ```
</CodeGroup>

## select

Filtert eine Sequenz von Objekten, indem ein Test auf die Objekte angewendet wird und nur die Objekte ausgewählt werden, bei denen der Test erfolgreich war.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
  {{ some_numbers|select("even") }}
  ```

  ```html example.html theme={null}
  [10, 12, 22]
  ```
</CodeGroup>

| Parameter  | Typ          | Beschreibung                                                 |
| ---------- | ------------ | ------------------------------------------------------------ |
| `exp_text` | Zeichenfolge | Der Ausdruckstest, der auf das Objekt angewendet werden soll |

## selectattr

Filtert eine Sequenz von Objekten, indem er einen Test auf ein Attribut der Objekte anwendet und nur die Objekte auswählt, bei denen der Test erfolgreich war.

<CodeGroup>
  ```html example.html theme={null}
  {% for content in contents|selectattr("post_list_summary_featured_image") %}
  <div class="post-item">
  {% if content.post_list_summary_featured_image %}
  <div class="hs-featured-image-wrapper">
  <a href="https://developers.hubspot.de/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
  <img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
  </a>
  </div>
  {% endif %}
  {{ content.post_list_content|safe }}
  </div>
  {% endfor %}
  ```

  ```html example.html theme={null}
  <div class="post-item">
  <div class="hs-featured-image-wrapper">
  <a
  href="http://blog.hubspot.com/marketing/how-to-get-a-job"
  title=""
  class="hs-featured-image-link"
  >
  <img
  src="//cdn2.hubspot.net/hub/53/hubfs/00-Blog-Related_Images/landing-a-job-featured-image.png?t=1431452322770&width=761"
  class="hs-featured-image"
  />
  </a>
  </div>
  Post with featured image
  </div>
  ```
</CodeGroup>

| Parameter        | Typ          | Beschreibung                                                                                                                                  |
| ---------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `attribute_name` | Zeichenfolge | Das Attribut, auf das getestet werden soll. Mithilfe der Punktnotation können Sie auf verschachtelte Attribute zugreifen.                     |
| `exp_test`       | Zeichenfolge | Der Name des [Ausdruckstests](/cms/reference/hubl/operators-and-expression-tests#expression-tests), der auf das Objekt angewendet werden soll |
| `val`            | Zeichenfolge | Wert, auf den getestet werden soll                                                                                                            |

## shuffle

Legt die Reihenfolge der Iteration durch eine Sequenz zufällig fest. Im folgenden Beispiel wird eine Standard-Blogschleife gemischt.

<Warning>
  ### Bitte beachten:

  Bei Verwendung dieses Filters wird die Seite nicht jedes Mal, wenn der Seiteninhalt aktualisiert wird, sondern in regelmäßigen Abständen [vorgerendert](/cms/best-practices/testing-staging-performance/prerendering). Dies bedeutet, dass der gefilterte Inhalt <u>nicht</u> bei jedem erneuten Laden der Seite aktualisiert wird.

  Dies ist möglicherweise kein Problem für bestimmte Arten von Inhalten, z. B. die Anzeige einer zufälligen Liste von Blogbeiträgen. Wenn Inhalte jedoch bei jedem Laden der Seite zufällig geändert werden müssen, sollten Sie stattdessen JavaScript verwenden, um den Inhalt client-seitig zu randomisieren.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% for content in contents|shuffle %}
  <div class="post-item">Markup of each post</div>
  {% endfor %}
  ```

  ```html example.html theme={null}
  <div class="post-item">Markup of each post 5</div>
  <div class="post-item">Markup of each post 3</div>
  <div class="post-item">Markup of each post 1</div>
  <div class="post-item">Markup of each post 2</div>
  <div class="post-item">Markup of each post 4</div>
  ```
</CodeGroup>

## slice

Zerschneiden eines Iterators und Rückgabe einer Liste von Listen, die diese Elemente enthalten; Der erste Parameter gibt an, wie viele Elemente in Scheiben geschnitten werden sollen, und der zweite Parameter gibt an, mit welchen Zeichen leere Scheiben gefüllt werden sollen.

<CodeGroup>
  ```html example.html theme={null}
  {% set items = ["laptops", "tablets", "smartphones", "smart watches", "TVs"] %}
  <div class="columwrapper">
  {% for column in items|slice(3," ") %}
  <ul class="column-{{ loop.index }}">
  {% for item in column %}
  <li>{{ item }}</li>
  {% endfor %}
  </ul>
  {% endfor %}
  </div>
  ```

  ```html example.html theme={null}
  <div class="columwrapper">
  <ul class="column-1">
  <li>laptops</li>
  <li>tablets</li>
  <li>smartphones</li>
  </ul>

  <ul class="column-2">
  <li>smart watches</li>
  <li>TVs</li>
  <li></li>
  </ul>
  </div>
  ```
</CodeGroup>

| Parameter | Typ          | Beschreibung                                              |
| --------- | ------------ | --------------------------------------------------------- |
| `slices`  | Zahl         | Wie viele Elemente werden geschnitten                     |
| `filler`  | Zeichenfolge | Gibt Zeichen an, mit denen leere Slices aufgefüllt werden |

## sort

Sortiert eine Iterable. Bei diesem Filter müssen alle Parameter nach einem Attribut in HubSpot sortiert werden. Der erste Parameter ist ein boolescher Wert, der die Sortierreihenfolge umkehrt. Der zweite Parameter bestimmt, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird. Und der letzte Parameter gibt ein Attribut an, nach dem sortiert werden soll. Im folgenden Beispiel werden Beiträge aus einem Blog gerendert und nach Namen alphabetisch geordnet.

<CodeGroup>
  ```html example.html theme={null}
  {% set my_posts = blog_recent_posts("default", limit=5) %}

  {% for item in my_posts|sort(False, False, "name") %}
  {{ item.name }}<br>

  {% endfor %}
  ```

  ```html example.html theme={null}
  A post<br />
  B post<br />
  C post<br />
  D post<br />
  E post<br />
  ```
</CodeGroup>

| Parameter        | Typ          | Beschreibung                                                                                    |
| ---------------- | ------------ | ----------------------------------------------------------------------------------------------- |
| `reverse`        | Boolesch     | Wert auf `true`, um die Sortierreihenfolge umzukehren                                           |
| `case_sensitive` | Boolesch     | Wert auf `true`, damit bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird |
| `attribute`      | Zeichenfolge | Attribut, nach dem sortiert werden soll; Beim Sortieren einer Liste auslassen                   |

## split

Teilt den Eingabe-String in eine Liste mit dem angegebenen Separator auf. Der erste Parameter gibt den Separator an, mit dem die Variable geteilt werden soll. Der zweite Parameter bestimmt, wie oft die Variable aufgeteilt werden soll. Alle übrigen Elemente verbleiben dann in der Gruppe. Im folgenden Beispiel wird ein String von Namen am `;` für die ersten vier Namen geteilt.

<CodeGroup>
  ```html example.html theme={null}
  {% set string_to_split = "Mark; Irving; Helly; Dylan; Milchick; Harmony;" %}
  {% set names = string_to_split|split(";", 4) %}
  <ul>
  {% for name in names %}
  <li>{{ name }}</li>
  {% endfor %}
  </ul>
  ```

  ```html example.html theme={null}
  <ul>
  <li>Mark</li>
  <li>Irving</li>
  <li>Helly</li>
  <li>Dylan; Milchick; Harmony;</li>
  </ul>
  ```
</CodeGroup>

| Parameter               | Typ          | Beschreibung                                                                                 |
| ----------------------- | ------------ | -------------------------------------------------------------------------------------------- |
| `character_to_split_by` | Zeichenfolge | Gibt den Separator an, durch den die Variable geteilt werden soll                            |
| `number_of_splits`      | Zahl         | Bestimmt, wie oft die Variable geteilt werden soll; Alle übrigen Elemente bleiben gruppiert. |

## string

Konvertiert einen anderen Variablentyp in einen String. Im folgenden Beispiel wird eine Ganzzahl in einen String umgewandelt (`pprint` wird verwendet, um die Änderung des Variablentyps zu bestätigen).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set number_to_string = 45 %}
  {{ number_to_string|string|pprint }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  (String: 45)
  ```
</CodeGroup>

## striptags

Entfernt SGML/XML-Tags und ersetzt angrenzende Leerzeichen durch ein einziges Leerzeichen. Dieser Filter kann verwendet werden, um alle HTML-Tags aus einer Variablen zu entfernen.

<CodeGroup>
  ```html example.html theme={null}
  {% set some_html = "<div><strong>Some text</strong></div>" %}
  {{ some_html|striptags }}
  ```

  ```html example.html theme={null}
  some text
  ```
</CodeGroup>

## strtodate

Konvertiert eine Datumszeichenfolge und ein Datumsformat in ein Datums-Objekt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ '3/3/21'|strtodate('M/d/yy') }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  2021-03-03 00:00:00
  ```
</CodeGroup>

| Parameter    | Typ          | Beschreibung                                                                                                 |
| ------------ | ------------ | ------------------------------------------------------------------------------------------------------------ |
| `dateFormat` | Zeichenfolge | Das zu verwendende [Datumsformat](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html) |

## strtotime

Konvertiert einen datetime-String und ein datetime-Format in ein datetime-Objekt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ")|unixtimestamp }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  1531558890000
  ```
</CodeGroup>

| Parameter        | Typ          | Beschreibung                                                                                                           |
| ---------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `datetimeFormat` | Zeichenfolge | Das zu verwendende [Datums- und Zeitformat](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html) |

## sum

Addiert numerische Werte in einer Sequenz. Der erste Parameter kann ein optionales Attribut angeben und der zweite Parameter legt einen Wert fest, der zurückgegeben wird, wenn die zu summierende Variable nichts enthält.

<CodeGroup>
  ```text hubl.txt theme={null}
  // Simple sum
  {% set sum_this = [1, 2, 3, 4, 5] %}
  {{ sum_this|sum }}

  // Sum of attribute
  {% set items = [15, 10] %}
  {% set dict_var = [{"name": "Item1", "price": "20"}, {"name": "Item2", "price": "10"}] %}
  Total: {{ dict_var|sum(attribute="price") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  15 Total: 30
  ```
</CodeGroup>

| Parameter           | Typ          | Beschreibung                                                                  |
| ------------------- | ------------ | ----------------------------------------------------------------------------- |
| `attribute`         | Zeichenfolge | Zu summierendes Attribut                                                      |
| `return_if_nothing` | Zeichenfolge | Wert, der zurückgegeben wird, wenn die zu summierende Variable nichts enthält |

## symmetric\_difference

Dieser Filter gibt die symmetrische Differenz von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in der ersten Liste enthalten sind, aber nicht in der zweiten, oder die in der zweiten Liste enthalten sind, aber nicht in der ersten.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ [1, 2, 3]|symmetric_difference([2, 3, 4, 5]) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [1, 4, 5]
  ```
</CodeGroup>

| Parameter | Typ   | Beschreibung                                                                                 |
| --------- | ----- | -------------------------------------------------------------------------------------------- |
| `list`    | Array | Die zweite Liste, mit der die symmetrische Differenz zur ursprünglichen Liste ermittelt wird |

## title

Gibt eine Titel-Version des Wertes zurück (d. h., Wörter beginnen mit Großbuchstaben, aber alle übrigen Zeichen sind in Kleinbuchstaben).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_title="my title should be title case" %}
  {{ my_title|title }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  My Title Should Be Title Case
  ```
</CodeGroup>

## tojson

Schreibt ein Objekt als JSON-String.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% for content in contents %}
  {{ content.blog_post_author|tojson }}
  {% endfor %}
  ```

  ```json example.json theme={null}
  {
  "portalId": 1234567,
  "id": 12312253109,
  "created": 1566413741989,
  "updated": 1566414012799,
  "deletedAt": 0,
  "fullName": "Sample User",
  "email": "sampleUser@example.com",
  "userId": null,
  "username": null,
  "slug": "sample-user",
  "jsonBody": {
  "avatar": "https://app.hubspot.com/settings/avatar/109d6874a0cb066c1c7263ac5df6ce7a",
  "bio": "Sample Bio",
  "facebook": "",
  "linkedin": "",
  "twitter": "",
  "website": "https://www.hubspot.com"
  },
  "bio": "Sample Bio",
  "facebook": "",
  "linkedin": "",
  "avatar": "https://app.hubspot.com/settings/avatar/109d6874a0cb066c1c7263ac5df6ce7a",
  "gravatarUrl": "https://app.hubspot.com/settings/avatar/108bb5ac667ded34796271437dfe8d58",
  "twitterUsername": "",
  "hasSocialProfiles": false,
  "website": "https://www.hubspot.com",
  "twitter": "",
  "displayName": "Sample User"
  }
  ```
</CodeGroup>

## trim

Entfernt vor- und nachgestellte Leerzeichen. HubSpot schneidet bereits Leerzeichen aus dem Markup ab, aber dieser Filter ist der Vollständigkeit halber dokumentiert.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ " remove whitespace " }}
  {{ " remove whitespace "|trim }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  remove whitespace remove whitespace
  ```
</CodeGroup>

## truncate

Schneidet den Text nach einer bestimmten Anzahl von Zeichen ab. Der Standardwert ist 255. HTML-Zeichen sind in dieser Zahl enthalten.

<Warning>
  **Hinweis:** Da dieser Filter auf die Leerzeichen zwischen den Wörtern angewiesen ist, um Zeichenfolgen zu kürzen, funktioniert er für Sprachen ohne Leerzeichen zwischen Zeichen, wie z. B. Japanisch, möglicherweise nicht wie erwartet.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ "I only want to show the first sentence. Not the second."|truncate(40) }}
  {{ "I only want to show the first sentence. Not the second."|truncate(35, true, "..........") }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  I only want to show the first sente..........
  ```
</CodeGroup>

| Parameter              | Typ          | Beschreibung                                                                                                      |
| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------- |
| `number_of_characters` | Zahl         | Erlaubte Anzahl der Zeichen, bevor der Text gekürzt wird. Der Standardwert ist 255.                               |
| `breakword`            | Boleesch     | Bei `true` schneidet der Filter den Text auf die angegebene Länge ab. Bei `false` wird das letzte Wort verworfen. |
| `end`                  | Zeichenfolge | Überschreiben Sie die standardmäßigen „…“ Zeichen nach dem Abschneiden                                            |

## truncatehtml

Kürzt einen vorgegebenen String unter Berücksichtigung des HTML-Markups (d. h., alle verschachtelten Tags werden korrekt geschlossen); Dadurch wird verhindert, dass ein Tag nach dem Abschneiden offen bleibt. HTML-Zeichen werden nicht auf die Gesamtzahl der Zeichen angerechnet.

<Warning>
  **Hinweis:** Da dieser Filter auf die Leerzeichen zwischen den Wörtern angewiesen ist, um Zeichenfolgen zu kürzen, funktioniert er für Sprachen ohne Leerzeichen zwischen Zeichen, wie z. B. Japanisch, möglicherweise nicht wie erwartet.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% set html_text = "<p>I want to truncate this text without breaking my HTML<p>" %}
  {{ html_text|truncatehtml(28, "..." , false) }}
  ```

  ```html example.html theme={null}
  <p>I want to truncate this..</p>
  ```
</CodeGroup>

| Parameter              | Typ          | Beschreibung                                                                                                                                                                                                                                                                         |
| ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `number_of_characters` | Zahl         | Erlaubte Anzahl der Zeichen, bevor der Text gekürzt wird. Der Standardwert ist 255.                                                                                                                                                                                                  |
| `end`                  | Zeichenfolge | Überschreiben Sie die standardmäßigen „…“ Zeichen nach dem Abschneiden                                                                                                                                                                                                               |
| `breakword`            | Boolesch     | Boolescher Wert; Bei `true` schneidet der Filter den Text auf die angegebene Länge ab. Bei `false` (Standard) wird das letzte Wort verworfen. Wenn Sie nur einen der optionalen Parameter verwenden, benutzen Sie Schlüsselwortargumente wie `truncatehtml(70, breakwords = false)`. |

## unescape\_html

Konvertiert Text mit HTML-codierten Entitäten in ihre Unicode-Äquivalente.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set escape_string = "me & you" %}
  {{ escape_string|unescape_html }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  me & you
  ```
</CodeGroup>

## union

Dieser Filter gibt die Vereinigung von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in beiden Listen enthalten sind.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ [1, 2, 3]|union([2, 3, 4, 5]) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [1, 2, 3, 4, 5]
  ```
</CodeGroup>

| Parameter | Typ   | Beschreibung                                                  |
| --------- | ----- | ------------------------------------------------------------- |
| `list`    | Array | Die zweite Liste zur Vereinigung mit der ursprünglichen Liste |

## unique

Dieser Filter extrahiert eine eindeutige Menge aus einer Sequenz oder einem Dict von Objekten. Wenn Sie ein Dict filtern, z. B. eine Liste von Beiträgen, die von einer Funktion zurückgegeben wird, können Sie angeben, welches Attribut verwendet wird, um Elemente im Dict zu deduplizieren.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set my_sequence = ["one", "one", "two", "three" ] %}
  {{ my_sequence|unique }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  [one, two, three]
  ```
</CodeGroup>

| Parameter | Typ          | Beschreibung                                                                   |
| --------- | ------------ | ------------------------------------------------------------------------------ |
| `attr`    | Zeichenfolge | Gibt das Attribut an, das beim Filtern eines dict-Wertes verwendet werden soll |

## unixtimestamp

Dieser Filter wandelt ein datetime-Objekt in einen Unix-Zeitstempel um.

<Warning>
  ### Bitte beachten:

  Sie sollten diesen Filter <u>nur</u> für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter `September 30, 2024` zurückgegeben.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ local_dt }}
  {{ local_dt|unixtimestamp }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  2017-01-30 17:11:44 1485814304000
  ```
</CodeGroup>

## upper

Konvertiert alle Buchstaben in einem Wert in Großbuchstaben.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set text="text to make uppercase" %}
  {{ text|upper }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  TEXT TO MAKE UPPERCASE
  ```
</CodeGroup>

## urlencode

Versieht einen String mit Escape-Zeichen und URL-codiert ihn mit UTF-8-Formatierung. Akzeptiert sowohl Dictionaries und reguläre Strings als auch paarweise Iterablen.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set encode_value="Escape & URL encode this string" %}
  {{ encode_value|urlencode }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Escape+%26+URL+encode+this+string
  ```
</CodeGroup>

## urldecode

Decodiert codierte URL-Strings zurück in die ursprüngliche URL. Akzeptiert sowohl Dictionaries und reguläre Strings als auch paarweise Iterablen.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set decode_value="Escape+%26+URL+decode+this+string" %}
  {{ decode_value|urldecode }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Escape & URL decode this string
  ```
</CodeGroup>

## urlize

Konvertiert URLs im Klartext in klickbare Links um. Wenn Sie dem Filter eine zusätzliche ganze Zahl übergeben, werden die URLs auf diese Zahl gekürzt. Der zweite Parameter ist ein boolescher Wert, der an festlegt, ob der Link rel="no follow" ist. Mit dem letzten Parameter können Sie angeben, ob der Link in einer neuen Registerkarte geöffnet werden soll.

| Parameter         | Typ          | Beschreibung                                                 |
| ----------------- | ------------ | ------------------------------------------------------------ |
| `shorten_text`    | Zahl         | Ganzzahl, die die URLs auf die gewünschte Anzahl kürzt       |
| `no_follow`       | Boolesch     | Bei Festlegung auf `true` enthält der Link `rel="no follow"` |
| `target="_blank"` | Zeichenfolge | Gibt an, ob der Link in einem neuen Tab geöffnet wird        |

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ "http://hubspot.com/"|urlize }}
  {{ "http://hubspot.com/"|urlize(10,true) }}
  {{ "http://hubspot.com/"|urlize("",true) }}
  {{ "http://hubspot.com/"|urlize("",false,target="_blank") }}
  ```

  ```html example.html theme={null}
  <a href="https://developers.hubspot.de/docs//hubspot.com/">http://hubspot.com/</a>
  <a href="https://developers.hubspot.de/docs//hubspot.com/" rel="nofollow">http://...</a>
  <a href="https://developers.hubspot.de/docs//hubspot.com/" rel="nofollow">http://hubspot.com/</a>
  <a href="https://developers.hubspot.de/docs//hubspot.com/" target="_blank">http://hubspot.com/</a>
  ```
</CodeGroup>

## wordcount

Zählt die Anzahl der Wörter in einem String;

<Warning>
  Wenn der String HTML enthält, verwenden Sie den Filter `striptags`, um eine genaue Zählung zu erhalten.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {%  set count_words = "Count the number of words in this variable"  %}
  {{ count_words|wordcount }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  8
  ```
</CodeGroup>

## wordwrap

Bewirkt den Umbruch von Wörtern bei einer bestimmten Zeichenanzahl. Dies funktioniert am besten in einem `<pre>`, da HubSpot standardmäßig Leerzeichen entfernt.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set wrap_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur, ipsum non sagittis euismod, ex risus rhoncus lectus, vel maximus leo enim sit amet dui. Ut laoreet ultricies quam at fermentum." %}
  {{ wrap_text|wordwrap(10) }}
  ```

  ```text gerenderte ausgabe.txt theme={null}
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur, ipsum
  non sagittis euismod, ex risus rhoncus lectus, vel maximus leo enim sit amet
  dui. Ut laoreet ultricies quam at fermentum.
  ```
</CodeGroup>

| Parameter         | Beschreibung                                                      |
| ----------------- | ----------------------------------------------------------------- |
| `character_count` | Anzahl der Zeichen, mit denen der Inhalt umgebrochen werden soll. |

## xmlattr

Erstellt einen HTML/XML-Attribut-String, der auf den Elementen in einem Dict basiert; Alle Werte, die weder keines noch undefiniert sind, werden automatisch mit Escape-Zeichen versehen. Es wird automatisch ein Leerzeichen vor das Element gesetzt, wenn der Filter etwas zurückgegeben hat, es sei denn, der erste Parameter ist falsch.

<CodeGroup>
  ```html example.html theme={null}
  {% set html_attributes = {"class": "bold", "id": "sidebar"} %}
  <div {{ html_attributes|xmlattr }}></div>
  ```

  ```html example.html theme={null}
  <div class="bold" id="sidebar"></div>
  ```
</CodeGroup>

| Parameter   | Typ      | Beschreibung                                                     |
| ----------- | -------- | ---------------------------------------------------------------- |
| `autospace` | Boolesch | Wert auf `true`, um ein Leerzeichen vor dem Element hinzuzufügen |
