function quickTokenExtractArray($php, $varname) { $reader = new QuickArrayReader("<?php {$php}"); return $reader->getVar($varname); } if (count($args)) { $sources = $args; } else { $sources = array_merge(glob("{$IP}/extensions/*/*.i18n.php"), glob("{$IP}/languages/messages/Messages*.php")); } foreach ($sources as $sourceFile) { $rel = basename($sourceFile); $out = str_replace('/', '-', $rel); $sourceData = file_get_contents($sourceFile); if (preg_match('!extensions/!', $sourceFile)) { $sourceData = LocalisationUpdate::cleanupExtensionFile($sourceData); $items = 'langs'; } else { $sourceData = LocalisationUpdate::cleanupFile($sourceData); $items = 'messages'; } file_put_contents("{$out}.txt", $sourceData); $start = microtime(true); $eval = evalExtractArray($sourceData, 'messages'); $deltaEval = microtime(true) - $start; $start = microtime(true); $quick = quickTokenExtractArray($sourceData, 'messages'); $deltaQuick = microtime(true) - $start; $start = microtime(true); $token = confExtractArray($sourceData, 'messages'); $deltaToken = microtime(true) - $start;