Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ad Generator

Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov

Описание

Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov

Установка

  1. Visit 'Plugins > Add New'
  2. Click 'Upload Plugin'
  3. Upload the file 'ad-generator.zip'
  4. Activate Ad Generator from your Plugins page.
  5. Add [ad_generator] shortcode to WordPress Page.

Настройка

  1. Create new WordPress Page, add [ad_generator] shortcode and save
  2. Go to page and use ad generator
  3. Enjoy

Скриншоты

In Russian:

ad-generator rus

In English:

ad-generator eng

Gif Animation of Process:

ad-generator animation


Документация

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

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

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

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

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

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

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

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

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

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

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

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

или

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

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

Итак, повторим:

  • {текст 1|текст 2|текст 3} - перебор
  • [текст 1|текст 2|текст 3] - перестановки
  • [+разделитель+текст 1|текст 2|текст 3] - перестановки с разделителем
  • { } | [ ] + \ - экранизация спецсимволов в виде \{, \}, \|, \[, \], \+ или \\
  • %rand% возвращает случайное число от 0 до 9
  • Поддерживается вложенность дирректив

Консольная версия скрипта

Данный скрипт теперь можно запускать через коммандную строку, т.е. без установки плагина на WordPress сайт. Это гораздо быстрее и не ограничено ни по ресурсам, ни по выводу результатов.

Необходимо запустить файл ad-generator-cli.php, как обычный php-файл, и на входе в параметрах скрипта задать файл с шаблоном, количеством выводимых вариантов и файл для записи результатов (необязательно):

Пример команды запуска скрипта:

php ad-generator-cli.php -n 300 -f shablon.txt -o result.txt

где

  • -n или -N - количество вариантов на выходе (по умолчанию 300),
  • -f или --file - файл с шаблоном (обязательно),
  • -o или --out - файл с результатом (по умолчанию, result-N.txt),
  • -h или --help - вызов справки.

Запускать эту команду нужно из папки плагина. Параметры разделяются пробелом, как в примере. У вас обязательно должны быть права на чтение и запись файлов в этой папке. На выходе вы получите файл, в котором будут сгенерированные по вашему шаблону случайные N вариантов.

Примеры шаблонов

Пример шаблона объявления для ниши «Ремонт квартир»

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

Заголовок объявления:

Ремонт {квартир|офисов|коттеджей} под ключ. Гарантия, {бригада|качество}

Текст объявления:

Бригада {высококвалифицированных|опытных|ответственных} {ремонтников|работников|мастеров} {выполнит|произведет} {качественный|профессиональный} ремонт {Вашей квартиры|Вашего дома|Вашего жилища} по {разумной|приемлемой} {цене|стоимости}. {У нас|Мы|Ищите у нас|Почему мы|Обращайтесь к нам}:
— {Закупка стройматериалов по {оптовым|сниженным} {ценам|расценкам}|Выполнение {всех видов|любых} работ в {кратчайшие|минимальные} сроки}.
— {{Все|Наши} {рабочие|ремонтники} — граждане РФ|{Опыт|Стаж} {всех|наших} {рабочих|сотрудников|строителей} {5|6|7} лет}.
— Гарантия на {все виды работ|{любые|выполненные} работы} {1|2|3} года.
— {{Все|Любые} виды {ремонтно-отделочных|ремонтных|отделочных} работ {любой сложности|»от А до Я»|под ключ}.|Выезд {специалиста|замерщика} для консультации и замера — БЕСПЛАТНО!}
{===|* * *|***|# # #|~ ~ ~|- — -|___}
{->>|=>|>>|->} ТОЛЬКО до %DATE {действует|работает} СКИДКА на {ремонт|проведение ремонта} {квартир|помещений|Вашей квартиры} «под ключ» – {15|20|10}%!!!
{✆|☏|►} {ЗВОНИТЕ ПО ТЕЛЕФОНУ|ТЕЛЕФОН|ЗВОНИТЕ|Звоните прямо СЕЙЧАС|Звоните и заказывайте БЕСПЛАТНЫЙ замер}: %PHONE

Ещё примеры:

Дни недели:

{Понедельник|Вторник|Среда|Четверг|Пятница|Суббота|Воскресенье}

или

{ПН|ВТ|СР|ЧТ|ПТ|СБ|ВС}

Месяцы:

{Январь|Февраль|Март|Апрель|Май|Июнь|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь}

Дни месяца:

{{|1|2}{0|1|2|3|4|5|6|7|8|9}|30|31}

или проще

{1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31}

Числа:

0-9:

{1|2|3|4|5|6|7|8|9|0}

или

%rand%

10-99 (двузначные):

{1|2|3|4|5|6|7|8|9}{1|2|3|4|5|6|7|8|9|0}

или

{1|2|3|4|5|6|7|8|9}%rand%

Английский алфавит:

{A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z}

Русский алфавит:

{А|Б|В|Г|Д|Е|Ё|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я}

и т.д. Таким образом можно ставить абсолютно любые конструкции. Всё ограничено только вашей фантазией


Changelog

2.2.0

  • Исправлен баг с подменой лишних пробелов
  • Рефакторинг кода рандомизатора
  • Добавлено больше примеров шаблонов

2.0.1

  • Исправлен баг с появлением лишних пробелов (#12)

2.0.0

  • Добавлена новая консольная версия
  • Обработка ошибок и справка в консольной версии
  • Добавлены теги label к выбору вариантов
  • Поправлено удаление лишних пробелов в результатах

1.4.0

  • Увеличено число допустимых символов с 4000 до 10000
  • Исправлен автофокус на странице с формой

1.3.2

  • Добавлены айдишники к выбору количества результатов
  • Обновлен URL лицензии
  • Добавлены скриншоты в README.md
  • Обновлены файлы для репозитория GitHub (DOCUMENTATION, ISSUE_TEMPLATE, README)
  • Изменен регистр названия репозитория Ad-Generator -> ad-generator
  • Обновлены файлы переводов

1.3.1

  • Форматирование вывода результатов
  • Обновлены файлы переводов

1.3.0

  • Добавлена возможность выбора количество отображаемых результатов

1.2.3

  • %rand% возвращает случайное число от 0 до 9
  • Исправлена ошибка с лишними символами \
  • Форматирование и оптимизация кода

1.2.2

  • Теперь работает поддержка разных языков (пока русский и английский)

1.2.1

  • Добавил автоматические обновления через GitHub Updater
  • Поправил changelog.md
  • Прописал метаданные пакета
  • Поправил /languages/
  • Поправил шаблон генератора

1.2.0

  • Добавил поддержку языковых файлов
  • Добавил русские и английские переводы
  • Обновил "рыбу" для рандомизации
  • Уменьшил макс. число символов в форме до 4000

1.1.1

  • Добавлены айдишники ко всем полям и элементам
  • Настроена ширина поля. Оптимизация под мобильники
  • Визуальные настройки отображения элементов
  • Добавил поддержку composer (файл composer.json)
  • Расширил ISSUE_TEMPLATE.md
  • Оптимизация кода

1.1.0

  • Решена проблема с множественными пробелами
  • Добавлена ссылка на проект GitHub
  • Добавлена кнопка очистки результатов
  • Настроено визульное оформление результатов
  • Обработка частных случаев разного количества результатов
  • Очистка вывода от обилия слешей

1.0.2

  • Решил проблему с переносом строк
  • Добавил файлы для GitHub
  • Настроил правильный вывод результатов

1.0.1

  • Объединил всё в одну функцию. Убрал лишнее и поправил ошибки
  • Проверил на тестовом сайте - всё работает Дальше:
  • Нужно навести красоту
  • Сделать так, чтобы генерировалось с переносами строк

1.0.0

  • Initial Release