Перейти к содержанию

Парсинг данных с шаблонов

Процесс обработки шаблонов происходит при AJAX запросе. В данном случае за этот процесс отвечает файл: upload/engine/ajax/maharder/dle_faker/parse_content.php.

Документация для parse_content.php

Глобальные переменные

  • $fakerConfig: Конфигурация для генерации данных.
  • $faker: Объект генератора данных Faker.

Константы

  • DEFAULT_NEWS_FORMAT: 'Y-m-d H:m:s'.

Пространства имен

  • use Faker\Factory
  • use JetBrains\PhpStorm\ExpectedValues

Функции

Функция: extractNumsAndStrict

Описание:
Извлекает и заменяет шаблоны формата {{ randomNumber nums=X strict=Y }} на случайные числа, используя глобальную зависимость $faker.

Краткое описание:
Шаблоны имеют следующий формат: - nums=X - задаёт количество цифр в числе. - strict=Y - указывает, строго ли соблюдать количество цифр. (необязательный)

Параметры: - $text (string): Текст, содержащий шаблоны для замены.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::randomNumber() - @see \Faker\Extension\Extension::numberBetween()


Функция: extractRandomDigit

Описание:
Заменяет шаблоны вида {{ randomDigit not=X }} случайными числами, не равными указанному X.

Параметры: - $text (string): Входной текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::randomDigitNot() - @throws \RuntimeException


Функция: extractRandomFloatParams

Описание:
Обрабатывает шаблоны вида {{ randomFloat ... }} и заменяет их случайными числами с плавающей запятой.

Параметры: - $text (string): Текст, содержащий шаблоны.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::randomFloat()


Функция: extractNubmerBetween

Описание:
Заменяет шаблоны вида {{ numberBetween min=X max=Y }} случайными числами из диапазона.

Регулярное выражение ищет шаблон вида {{ numberBetween min=X max=Y }}, где параметры min и max являются необязательными. Если параметр min не указан, используется значение PHP_INT_MIN, если max не указан - используется значение 2147483647.

При каждом совпадении выполняется генерация случайного числа с использованием функции numberBetween глобального объекта $faker.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global object $faker


Функция: extractRandomElementsParams

Описание:
Извлекает параметры шаблона {{ randomElements }} и заменяет их случайными элементами.

Следующие параметры могут быть переданы этому тегу: - items=[] - Обязательный параметр с перечислением элементов через запятую (,) - count=X - Необязательный параметр, устанавливает сколько элементов выводить. По умолчанию: 1. Если указано большее кол-во, нежели кол-во элементов, то возвращает всё - connector=_ - Необязательный параметр соединения элементов. По умолчанию: _.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see randomElements()


Функция: createWords

Описание:
Заменяет шаблоны вида {{ words max=N }} на случайные слова. Выводятся через запятую - max=X - Параметр устанавливающий кол-во выводимых слов. По умолчанию: 3

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Provider\Base::words()


Функция: generateSentences

Описание:
Генерирует текст с заменой всех вхождений шаблона {{ sentences max=N }} на сгенерированные предложения с использованием глобальной переменной $faker.

Ищет совпадения с шаблоном {{ sentences max=N }}, где N указывает максимальное количество предложений, затем заменяет их сгенерированными предложениями с помощью метода sentences из $faker. Если параметр max отсутствует или указан некорректно, используется значение по умолчанию — 3.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::sentences()


Функция: generateParagraph

Описание:
Генерирует текст с заменой шаблонов в виде {{ paragraph max=N }} на случайные абзацы текста.

Шаблоны в тексте, которые соответствуют указанному формату, будут заменены на случайно сгенерированные абзацы текста, где количество абзацев указывается через параметр max. По умолчанию используется 3 абзаца.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::paragraphs()


Функция: generateText

Описание:
Генерирует текст, заменяя шаблонные маркеры {{ text max=X }} случайным текстом.

Маркеры в тексте имеют формат {{ text max=X }}. Если параметр max указан, он задаёт максимальную длину сгенерированного текста. Если max не указан, используется значение по умолчанию - 200 символов.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global object $faker - @see text()


Функция: generateDateTime

Описание:
Генерирует строку с заменой шаблонов даты и времени на соответствующие значения.

Шаблоны даты и времени в строке задаются в виде: - {{ datetime format="формат" }}

Пример шаблона: - {{ datetime format="Y-m-d H:i:s" }}

Если формат даты не указан, используется значение константы DEFAULT_NEWS_FORMAT.

Параметры: - $text (string): Текст с шаблонами.

Возвращаемый тип: string

Теги: - @global \Faker\Generator $faker - @see dateTime() - @see getTimezone()


Функция: getRandomValue

Описание:
Возвращает случайное значение или значения из массива с возможностью исключения определённых элементов.

Параметры: - $array (array): Массив для выборки. - $count (int): Количество значений (по умолчанию 1). - $exclude (array|string|null): Элементы для исключения.

Возвращаемый тип: mixed

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::numberBetween()


Функция: getTimezone

Описание:
Возвращает временную зону как объект или строку.

Параметры: - $parse (bool): Если true, возвращает объект; иначе строку.

Возвращаемый тип: DateTimeZone|string

Теги: - @global array $config


Функция: getRandomDateBetween

Описание:
Генерирует случайную дату в пределах заданного диапазона.

Если начальная и конечная даты идентичны, возвращает форматированную дату начала. В случае, если конечная дата не указана, диапазон устанавливается от начальной даты до текущей. Если начальная дата позже конечной, параметры меняются местами.

Параметры: - $start (string|DateTime): Начальная дата. - $end (string|DateTime|null): Конечная дата.

Возвращаемый тип: string

Теги: - @see DateTime - @see getTimezone


Функция: parseBoolValue

Описание:
Преобразует строковое значение в логическое.

Значение 'on' будет преобразовано в true, 'off' — в false. Для всех остальных значений используется случайное логическое значение, сгенерированное объектом $faker.

Параметры: - $text (string): Значение 'on', 'off' или 'random'.

Возвращаемый тип: bool

Теги: - @global \Faker\Generator $faker - @see \Faker\Generator::boolean()


Функция: create_metatags

Описание:
Создает метатеги на основе текста и входящих параметров.

Функция анализирует переданный текст, а также параметры запроса для формирования тэгов meta title, description и keywords. Для обработки текста используются внутренние функции очистки, а также анализ ключевых слов.

Параметры: - $story (string): Текст для анализа. - $ajax (bool): Режим AJAX.

Возвращаемый тип: array

Теги: - @global object $db - @global array $config - @see create_metatags engine/inc/include/functions.inc.php


Функция: parseFaker

Описание:
Обрабатывает и заменяет указанный тег в зависимости от заданного типа.

Параметры: - $tag (string): Тег для обработки. - $type (string): Тип данных ('user' или 'post').

Возвращаемый тип: mixed

Теги: - @global object $faker - @global array $fakerConfig - @see extractNumsAndStrict() - @see extractRandomDigit() - @see extractRandomFloatParams() - @see extractRandomElementsParams() - @see extractNubmerBetween() - @see getRandomValue()


Функция: parseUserValues

Описание:
Обрабатывает шаблоны типа user.

Параметры: - $tag (string): Шаблон для обработки.

Возвращаемый тип: mixed

Теги: - @see parseFaker()


Функция: parseNewsValues

Описание:
Обрабатывает значения новостей.

Параметры: - $tag (string): Тег для обработки.

Возвращаемый тип: mixed

Теги: - @see parseFaker()