roteval/text-randomizer

Text Randomizer is a tool that aims to automate the generation of text from data by using a template.

0.0.1 2020-07-21 22:54 UTC

This package is not auto-updated.

Last update: 2024-05-09 15:42:27 UTC


README

PHP-скрипт рандомизатора текстов.

Что такое рандомизатор текста?

Это - программа для промышленного создания псевдоуникального контента. Используется, например, при регистрации сайта во множестве каталогов. Чтобы в каждом каталоге сайт описывался уникальным с точки зрения поисковиков текстом. В отличие от аналогичных инструментов (синонимайзеры, доргены) позволяет максимально сохранить читабельность результирующих текстов.

Как работает рандомизатор?

Берем некий исходный текст. Например:

Бытует мнение, что и копирайтинг (написание текстов) и рерайтинг (переработка готовых текстов) с успехом можно доверить текстовому рандомизатору – специальной программе.

Обрабатываем его специальным образом:

  1. Если "текст 1" можно заменить на "текст 2" или на "текст 3", то вместо "текст 1" вставляем инструкцию {текст 1|текст 2|текст 3}.
  2. Если "текст" можно опустить, то вместо "текст" вставляем инструкцию {|текст}.
  3. Если можно перемешать последовательность "текст 1 текст 2 текст 3", то вместо нее вставляем инструкцию [текст 1|текст 2|текст 3].
  4. Если можно перемешать последовательность "текст 1, текст 2, текст 3", то вместо нее вставляем инструкцию [+,+текст 1|текст 2|текст 3].
  5. Если можно перемешать абзацы "абзац1 абзац2 абзац3", то можно просто писать абзац1|абзац2|абзац3.
  6. Если нужно вставить в текст какой-то спецсимвол {, }, |, [, ], + или \, то его следует экранировать: \{, \}, \|, \[, \], \+ или \\.

Инструкции могут иметь неограниченную вложенность.

Вариант обработки на скорую руку:

{{Бытует|Существует|Есть|Имеется} мнение|{Некоторые|Многие} думают}, что и
[+и+
 {копирайтинг (написание текстов)
 |написание текстов (копирайтинг)
 |написание текстов
 |копирайтинг
 }
|{рерайтинг (переработку готовых текстов)
 |переработку готовых текстов (рерайтинг)
 |переработку готовых текстов
 |рерайтинг
 }
] [{|с успехом}|можно] доверить
[+–+{текстовому рандомизатору|рандомизатору {|текста|текстов}}
|{специальной|особой} {программе|проге}
].

Скармливаем этот код рандомизатору и получаем кучу вариантов, таких как:

Некоторые думают, что и написание текстов и рерайтинг (переработку готовых текстов) с успехом можно доверить особой программе – рандомизатору.

или

Есть мнение, что и переработку готовых текстов и написание текстов можно доверить текстовому рандомизатору – особой проге.

Для приведенного в примере кода существует 24576 различных вариантов результирующих текстов.

Как прикрутить рандомизатор к своему сайту?

API очень несложное:

// Получаем текст для обработки:
$text = '{Мой|Твой|Ваш|Наш} текст';
// Создаем объект этого текста:
$tRand = new TextRandomizer($text);
// Число результирующих вариатов:
echo '<p>Число всех вариантов: ' . $tRand->numVariant() . '</p>';
// Собственно рандомные тексты:
for ($i=0; $i<10; ++$i) {
  echo htmlspecialchars($tRand->getText()) . '<hr />';
}