Drupal is a registered trademark of Dries Buytaert

Token modifier provides a meta token that allows you to modify the output of other tokens.

Usage

To use these token modifiers, you simply add a prefix to your existing token.

[token-modifier:{modifier}:{existing token}]

The modifiers should work anywhere the existing token would work. It passes through all the context available to the original token.

For example: output the current users' username as title case:

[token-modifier:title-case:current-user:name]

Included modifiers

  • urlencode: URL Encodes the returned string.
  • title-case: Uppercases the first letter of each word using ucwords.
  • uppercase: Uppercases all characters.
  • lowercase: Lowercases all characters.
  • uppercase-first: Uppercases the first letter of the string.
  • length: Limits the maximum length of the string.
    e.g. [token-modifier:length:8:current-user:name]
  • trim: Strips whitespace from the beginning and end of a string.
  • ltrim: Strips whitespace from the beginning of a string.
  • rtrim: Strips whitespace from the end of a string.
  • strip-tags: Removes HTML tags.

Chaining

Chaining modifiers is possible. Just keep prepending token-modifier:{modifier} to the front of the token.

Extend (D7 only)

Token Modifiers uses the ctools plugin system to allow other modules to provide their own modifiers.

To get started:

  1. Copy one of the existing plugin files within token_modifier/plugins/token_modifer to a plugins/token_modifier folder in your module and modify the details. The filename of your .inc file is used in the token.
  2. Implement hook_ctools_plugin_directory in your module. Look at token_modifier_ctools_plugin_directory as an example.

Contributing

I'll gladly bundle more modifiers that I think are going to be widely useful. Create an issue in the issue queue (ideally with a patch ready to go) and I'll take a look.

Contributed Modifiers

These modifiers have been contributed but haven't been included in the main module due to a narrow use-case, however you can implement the plugins in your own custom module.

Activity

Total releases
4
First release
Jan 2025
Latest release
3 months ago
Release cadence
99 days
Stability
100% stable

Release Timeline

Releases

Version Type Release date
2.0.6 Stable Nov 17, 2025
2.0.4 Stable Aug 6, 2025
2.0.3 Stable May 22, 2025
2.0.2 Stable Jan 25, 2025