Иногда нужно создать десятки, сотни и тысячи текстов, которые будут иметь один и тот же смысл, но отличаться по содержанию.
В интернете есть масса сервисов, позволяющих, введя синонимы для различных слов и выражений, сгенерировать случайный вариант текста. Примеры таких сервисов: http://www.linksfarm.ru/pages/226, http://www.seogenerator.ru/tools/.
Краткая суть в том, что указывая {разные|различные} {варианты|способы написания} в [вот|таком] виде, {можно|есть возможность} {получить|создать|сгенерировать} {различные|разнообразные} {варианты|версии} написания {одного и того же |}текста.
Да, в Интернете есть сервисы, позволяющие генерировать такие случайные тексты из таких вот шаблонов, но что если нужен свой собственный?
Однажды мне понадобился такой генератор, и, за неимением существующего, а также, ввиду его простоты, я написал свой. Теперь делюсь им с общественностью.
Установка
Склонируем репозиторий https://github.com/MihanEntalpo/CombineMorph:
git clone https://github.com/MihanEntalpo/CombineMorph.git |
Использование
Создадим для примера файл index.php в папке рядом с репозиторием:
<?php //Подключаем файл класса require_once "./CombineMorph/CombineMorph.php"; //Текст из которого нужно получить варианты $text = "Краткая суть в том, что указывая {разные|различные} {варианты|способы написания} в [вот|таком] виде, {можно|есть возможность} {получить|создать|сгенерировать} {различные|разнообразные} {варианты|версии} написания {одного и того же |}текста."; //Создадим объект класса, передав в качестве параметра текст $combineMorph = new CombineMorph($text); //Получим количество возможных вариантов: $variantsCount = $combineMorph->getVariantsCount(); //Сформируем 100 случайных вариантов текста: for($i=0;$i<100;$i++) { $randomTextVariant[$i] = $combineMorph->getRandomVariant(); } |
So, what do you think ?