Помогите создать генератор слов на php. Нужно гененировать слова из следующих букв: e, r, t, u, i, o, p, a, s, d, f, g, h, k, l, z, v, b, n, m Длина получаемого слова - 5 символов. Из генерации нужно удалить слова, в которых: Подряд содержатся 2 и более гласные Подряд содержатся 2 и более одинаковые согласные Подряд содержатся 3 и более согласные Все данные нужно записать в файл. То есть: eraab, eraaa, errab, ertde - такие слова удаляются ertab, ritar - такие остаются
Ответ
Есть два способа. 1) простой: перебираем все слова от ааааа до zzzzz. if(preg_match("/(?:[euioa]{2,})|(?:[qwrtypsdfghjklzxcvbnm]{3,})/",$word){ //Убираем из массива, как несоответствующий п1 или п3 } $doubles = str_split('qqwwrrttyyppssddffgghhjjkkllzzxxccvvbbnnmm',2); if(strpos($word,$doubles)!==false){ //убираем из-за двойной согласной }
Комментариев нет:
Отправить комментарий