- Contributors: Airat Halitov
- Requires at least: 3.8
- Tested up to: 5.6
- Stable tag: 2.2.0
- License: GPLv3
- License URI: https://www.gnu.org/licenses/gpl-3.0.html
Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov
Профессиональный рандомизатор текста и генератор объявлений от Айрата Халитова / Professional text randomizer and ad generator. Author: Airat Halitov
- Visit 'Plugins > Add New'
- Click 'Upload Plugin'
- Upload the file 'ad-generator.zip'
- Activate Ad Generator from your Plugins page.
- Add [ad_generator] shortcode to WordPress Page.
- Create new WordPress Page, add [ad_generator] shortcode and save
- Go to page and use ad generator
- Enjoy
Это - программа для промышленного создания псевдоуникального контента. Используется, например, при регистрации сайта во множестве каталогов. Чтобы в каждом каталоге сайт описывался уникальным с точки зрения поисковиков текстом. В отличие от аналогичных инструментов (синонимайзеры, доргены) позволяет максимально сохранить читабельность результирующих текстов.
Берем некий исходный текст. Например:
Бытует мнение, что и копирайтинг (написание текстов) и рерайтинг (переработка готовых текстов) с успехом можно доверить текстовому рандомизатору – специальной программе.
- Если "текст 1" можно заменить на "текст 2" или на "текст 3", то вместо "текст 1" вставляем инструкцию
{текст 1|текст 2|текст 3}
. - Если "текст" можно опустить, то вместо "текст" вставляем инструкцию
{|текст}
. - Если можно перемешать последовательность "текст 1 текст 2 текст 3", то вместо нее вставляем инструкцию
[текст 1|текст 2|текст 3]
. - Если можно перемешать последовательность "текст 1, текст 2, текст 3", то вместо нее вставляем инструкцию
[+,+текст 1|текст 2|текст 3]
. - Если можно перемешать абзацы "абзац1 абзац2 абзац3", то можно просто писать
абзац1|абзац2|абзац3
. - Если нужно вставить в текст какой-то спецсимвол
{, }, |, [, ], + или \
, то его следует экранировать:\{, \}, \|, \[, \], \+ или \\
. - Если нужно вставить случайное число - шаблон
%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}
{А|Б|В|Г|Д|Е|Ё|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я}
и т.д. Таким образом можно ставить абсолютно любые конструкции. Всё ограничено только вашей фантазией
- Исправлен баг с подменой лишних пробелов
- Рефакторинг кода рандомизатора
- Добавлено больше примеров шаблонов
- Исправлен баг с появлением лишних пробелов (#12)
- Добавлена новая консольная версия
- Обработка ошибок и справка в консольной версии
- Добавлены теги label к выбору вариантов
- Поправлено удаление лишних пробелов в результатах
- Увеличено число допустимых символов с 4000 до 10000
- Исправлен автофокус на странице с формой
- Добавлены айдишники к выбору количества результатов
- Обновлен URL лицензии
- Добавлены скриншоты в README.md
- Обновлены файлы для репозитория GitHub (DOCUMENTATION, ISSUE_TEMPLATE, README)
- Изменен регистр названия репозитория Ad-Generator -> ad-generator
- Обновлены файлы переводов
- Форматирование вывода результатов
- Обновлены файлы переводов
- Добавлена возможность выбора количество отображаемых результатов
%rand%
возвращает случайное число от 0 до 9- Исправлена ошибка с лишними символами \
- Форматирование и оптимизация кода
- Теперь работает поддержка разных языков (пока русский и английский)
- Добавил автоматические обновления через GitHub Updater
- Поправил changelog.md
- Прописал метаданные пакета
- Поправил /languages/
- Поправил шаблон генератора
- Добавил поддержку языковых файлов
- Добавил русские и английские переводы
- Обновил "рыбу" для рандомизации
- Уменьшил макс. число символов в форме до 4000
- Добавлены айдишники ко всем полям и элементам
- Настроена ширина поля. Оптимизация под мобильники
- Визуальные настройки отображения элементов
- Добавил поддержку composer (файл composer.json)
- Расширил ISSUE_TEMPLATE.md
- Оптимизация кода
- Решена проблема с множественными пробелами
- Добавлена ссылка на проект GitHub
- Добавлена кнопка очистки результатов
- Настроено визульное оформление результатов
- Обработка частных случаев разного количества результатов
- Очистка вывода от обилия слешей
- Решил проблему с переносом строк
- Добавил файлы для GitHub
- Настроил правильный вывод результатов
- Объединил всё в одну функцию. Убрал лишнее и поправил ошибки
- Проверил на тестовом сайте - всё работает Дальше:
- Нужно навести красоту
- Сделать так, чтобы генерировалось с переносами строк
- Initial Release