• Модуль: tasksmobile
  • Путь к файлу: ~/bitrix/modules/tasksmobile/lib/TextFragmentParser.php
  • Класс: BitrixTasksMobileTextFragmentParser
  • Вызов: TextFragmentParser::parseTable
private function parseTable(string $text): string
{
	$index = 0;

	while (true)
	{
		$index++;

		$tableName = Loc::getMessage(
			'TASKSMOBILE_TEXT_FRAGMENT_PARSER_TABLE_REPLACED_NAME',
			['#INDEX#' => $index]
		);
		$replace = "n[URL=/?openWeb&type=table&id={$index}]{$tableName}[/URL]n";


		$tableStart = mb_strpos($text, '[TABLE]');
		$tableEnd = mb_strpos($text, '[/TABLE]');

		if ($tableStart === false || $tableEnd === false)
		{
			break;
		}

		if ($tableStart >= $tableEnd)
		{
			break;
		}

		$text = mb_substr($text, 0, $tableStart) . $replace . mb_substr($text, $tableEnd + mb_strlen('[/TABLE]'));

		if ($index >= 100)
		{
			return $text;
		}
	}

	return $text;
}