• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/php_parser.php
  • Класс: PHPParser
  • Вызов: PHPParser::getPhpChunks
static function getPhpChunks($filesrc, $limit = false)
{
	$chunks = array();
	$chunk = '';
	$php = false;
	if (function_exists("token_get_all"))
	{
		foreach(token_get_all($filesrc) as $token)
		{
			if ($php)
			{
				if (is_array($token))
				{
					$chunk .= $token[1];
					if ($token[0] === T_CLOSE_TAG)
					{
						$chunks[] = $chunk;
						$chunk = '';
						$php = false;
						if ($limit && count($chunks) == $limit)
							break;
					}
				}
				else
				{
					$chunk .= $token;
				}
			}
			else
			{
				if (is_array($token))
				{
					if ($token[0] === T_OPEN_TAG || $token[0] === T_OPEN_TAG_WITH_ECHO)
					{
						$chunk .= $token[1];
						$php = true;
					}
				}
			}
		}
	}
	else
	{
		foreach (PHPParser::ParseFile($filesrc, $limit) as $chunk)
			$chunks[] = $chunk[2];

	}

	if ($php && $chunk != '')
		$chunks[] = $chunk;

	return $chunks;
}