Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

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

Решил выложить в Open Source рандомизатор текстов. Доступна онлайн демоверсия рандомизатора.

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

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

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

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

Обрабатываем его специальным образом:
  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. Если нужно вставить в текст какой-то спецсимвол "{", "}", "|", "[", "]", "+" или "\", то его следует экранировать: "\{", "\}", "\|", "\[", "\]", "\+" или "\\".

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

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

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

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

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

  1. Надо скачать скрипт рандомизатора: ZIP-архив, 11.8 KB. В исходных кодах. Лицензия - GNU GPL.
     
  2. Распаковать скрипт в какую-нибудь папку на своем сервере. Зайдите в нее по HTTP, чтобы убедиться, что скрипт работает.
     
  3. Смотрите исходник index.php, как пример использования рандомизатора.

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

Успехов! Well
 

Интересные публикации:
Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2016-06-15 12:26:43

Метки материала: рандомизатор, текст, скачать скрипт, рерайт, рерайтинг, seo


65 комментариев

Последние десять комментариев:

17.05.2016 12:50:51 #
Google Chrome Гость Павел
А как сделать чтобы оно вывело все возможные уникальные варианты? По совету из 3820 коммента выводит любое их кол-во, но случайным образом, т.е. некоторые варианты повторяются.
17.02.2016 19:07:37 #
Google Chrome Гость Куан
как скачать Ваш скрипт? кнопка open source не активна
этот вопрос снимается. сорри за невнимательность
17.02.2016 18:55:55 #
Google Chrome Гость Куан
Здравствуйте, вопрос по дублям. в приведенных выше примерах где число возможных вариантах меньше 10 действительно дубли должны бытьWell, при том что выводится 10 вариантовI roll! .
однако дубли бывают и при большем чем 10 возможных вариантахReally?
пример: {продам|продаю|продаем} {пластиковые|металлопластиковые} {окна|двери}
Продам пластиковые двери повторяется. как избавиться от дублей?Eyes in a heap
как скачать Ваш скрипт?It is surprised кнопка open source не активна
13.11.2015 07:52:13 #
Mozilla Firefox Гость Дмитрий
Дмитрий, а можно как то настроить скрипт что бы сгенерированные варианты текста при обновление страницы не менялись на другие. ну например что бы можно было привязать к id страницы. например на странице c id 20 вывести 20ый вариант текста и при обновление страницы этот 20тый вариант снова отобразился, а не сгенерировался новый
21.10.2015 15:00:06 #
Google Chrome Гость Алекс
Занимаюсь профессиональным составлением текстов для данного рандомизатора. Ася: 229-292-298
01.05.2015 17:44:00 #
Google Chrome Гость Пётр
Если Вы в пхп ни в зуб ногой, вряд ли смогу помочь. Обратитесь к программисту.
Поможете залить на хост Ваш скрипт-  очень удобная штука для авито ))) рекламы моя ася kitshopnatao.ru
22.11.2014 13:40:46 #
Mozilla Firefox dima
Вставляйте в текст какие нибудь разделители и по ним разбивайте результат на абзацы.
21.11.2014 23:54:17 #
Google Chrome Гость Роман
Как реализовать разбивку по абзацам?
12.09.2014 09:11:34 #
Mozilla Firefox dima
Опишите свою проблему здесь.
12.09.2014 00:39:35 #
Google Chrome Гость Александр
привет тебе добрый разработчик!помоги разобраться с рандомизацией текста очень надо для подачи на авито! мыло: 3227066@mail.ru 89040871414

© 2007-2016, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.