summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries <dries@buytaert.net>2012-01-24 20:18:44 -0500
committerDries <dries@buytaert.net>2012-01-24 20:18:44 -0500
commitb0ac4796a69d1640b0e6150cc2b02a6ae7e59cff (patch)
tree520d45139e1bffc6a8fccb4187b53b075f6c4e81 /includes
parentb7d049cae366a203b5410922abf3c33a53ed74d8 (diff)
downloadbrdo-b0ac4796a69d1640b0e6150cc2b02a6ae7e59cff.tar.gz
brdo-b0ac4796a69d1640b0e6150cc2b02a6ae7e59cff.tar.bz2
- Patch #1346166 by Dave Reid: Improve performance of token_replace() if there are no tokens to replace.
Diffstat (limited to 'includes')
-rw-r--r--includes/token.inc7
1 files changed, 6 insertions, 1 deletions
diff --git a/includes/token.inc b/includes/token.inc
index edc8a962f..0b05c68f4 100644
--- a/includes/token.inc
+++ b/includes/token.inc
@@ -77,8 +77,13 @@
* Text with tokens replaced.
*/
function token_replace($text, array $data = array(), array $options = array()) {
+ $text_tokens = token_scan($text);
+ if (empty($text_tokens)) {
+ return $text;
+ }
+
$replacements = array();
- foreach (token_scan($text) as $type => $tokens) {
+ foreach ($text_tokens as $type => $tokens) {
$replacements += token_generate($type, $tokens, $data, $options);
if (!empty($options['clear'])) {
$replacements += array_fill_keys($tokens, '');