Парсинг данных с шаблонов
Процесс обработки шаблонов происходит при 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()