function token_find_with_prefix
Returns a list of tokens that begin with a specific prefix.
Used to extract a group of 'chained' tokens (such as [node:author:name]) from the full list of tokens found in text. For example:
$data = array(
'author:name' => '[node:author:name]',
'title' => '[node:title]',
'created' => '[node:created]',
);
$results = token_find_with_prefix($data, 'author');
$results == array(
'name' => '[node:author:name]',
);
Parameters
$tokens: A keyed array of tokens, and their original raw form in the source text.
$prefix: A textual string to be matched at the beginning of the token.
$delimiter: An optional string containing the character that separates the prefix from the rest of the token. Defaults to ':'.
Return value
An associative array of discovered tokens, with the prefix and delimiter stripped from the key.
7 calls to token_find_with_prefix()
- comment_tokens in modules/
comment/ comment.tokens.inc - Implements hook_tokens().
- hook_tokens in modules/
system/ system.api.php - Provide replacement values for placeholder tokens.
- node_tokens in modules/
node/ node.tokens.inc - Implements hook_tokens().
- statistics_tokens in modules/
statistics/ statistics.tokens.inc - Implements hook_tokens().
- system_tokens in modules/
system/ system.tokens.inc - Implements hook_tokens().
File
-
includes/
token.inc, line 219
Code
function token_find_with_prefix(array $tokens, $prefix, $delimiter = ':') {
$results = array();
foreach ($tokens as $token => $raw) {
$parts = explode($delimiter, $token, 2);
if (count($parts) == 2 && $parts[0] == $prefix) {
$results[$parts[1]] = $raw;
}
}
return $results;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.