function token_scan
token_scan($text)
Builds a list of all token-like patterns that appear in the text.
Parameters
$text: The text to be scanned for possible tokens.
Return value
An associative array of discovered tokens, grouped by type.
File
- includes/token.inc, line 114
- Drupal placeholder/token replacement system.
Code
function token_scan($text) { // Matches tokens with the following pattern: [$type:$name] // $type and $name may not contain [ ] characters. // $type may not contain : or whitespace characters, but $name may. preg_match_all('/ \[ # [ - pattern start ([^\s\[\]:]*) # match $type not containing whitespace : [ or ] : # : - separator ([^\[\]]*) # match $name not containing [ or ] \] # ] - pattern end /x', $text, $matches); $types = $matches[1]; $tokens = $matches[2]; // Iterate through the matches, building an associative array containing // $tokens grouped by $types, pointing to the version of the token found in // the source text. For example, $results['node']['title'] = '[node:title]'; $results = array(); for ($i = 0; $i < count($tokens); $i++) { $results[$types[$i]][$tokens[$i]] = $matches[0][$i]; } return $results; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!token.inc/function/token_scan/7.x