PHP: простейшая генерация вариативного текста или Пушкинист
На самом деле нужен был пример простейшей генерации вариативного текста по паттерну, не такого,
как в этом моём скрипте, а попроще, чтоб парой строчек. То есть, варианты каждого слова
или словосочетания - в массив, весь текст - массив этих массивов, а дальше один цикл и одна rand
...
и, в общем, всё. Но как-то сами пришли в голову пушкинские строки для примера. Наверное,
вариативность у них очень высокая :)
Получилось вот что:
Не одним же Синявским глумиться над великим поэтом, тем более, в отличие от них, мне-то Пушкин соотечественник.
Вот код скрипта:
<?php setlocale(LC_ALL, 'ru_RU.CP1251'); $pattern = array ( array ('Я помню','Не помню','Забыть бы','О ком ты','Купите','Очкуешь,','Какое','Угробил','Фигово','Открою', 'Ты чуешь'), array ('чудное','странное','некое','вкусное','пьяное','сытное','свинское','чёткое','сраное','нужное', 'конское','вялое','каждое','скотское','мутное'), array ('мгновенье','затменье','хотенье','варенье','везенье','творенье','рожденье','смущенье','печенье', 'ученье','мученье'), array ('Передо мной','Под косячком','На кладбище','В моих мечтах','Под скальпелем','В моих штанах', 'Из-за угла','В моих ушах','В ночном горшке','Из головы','На каблуках'), array ('явилась ты','добилась ты','родилась ты','торчат кресты','растут листы','дают п**ды','поют дрозды', 'стихов листы','забилась ты','мои трусы','из темноты','помылась ты','разделась ты','побрилась ты'), array ('Как'), array ('мимолётное','детородное','психотропное','кайфоломное','очевидное','у воробушков','вот такое вот', 'нам не чуждое','благородное','ненародное','инородное'), array ('виденье','сиденье','паренье','сужденье','вращенье','сношенье','смятенье','теченье', 'паденье','сплетенье','печенье','леченье'), array ('Как'), array ('гений','веник','сторож','символ','спарта','правда','ангел','водка','пиво','ахтунг','жопа','чудо','дятел'), array ('чистой','вечной','тухлой','просит','грязной','липкой','в пене','на фиг','женской','жаждет','хочет'), array ('красоты','мерзлоты','суеты','наркоты','школоты','срамоты','типа ты','простоты','куеты','наготы','немоты') ); //Выше - данные, а весь скрипт вот: $verce='<p>'; for ($i=0; $i<count($pattern); $i++) { $word=$pattern[$i][rand(0,count($pattern[$i])-1)]; if (ucfirst($word)==$word and $i>0) $verce.='<br>'; $verce.=$word.' '; } echo $verce.'</p>'; ?>
Что с большой буквы - становится новой строкой ( в коде добавляется <br>). В начале ставится локаль
кириллической Windows, чтоб корректно работала функция ucfirst
.
Вот код для вызова скрипта:
<div><iframe width="300" height="150" hspace="4" vspace="4" src="http://scripts.kislenko.net/pushkinist/pushkinist.php"> Извините, плавающие фреймы недоступны в Вашем браузере </iframe></div>
Ну или если с кнопкой "ещё", то
<div><iframe width="400" height="250" hspace="4" vspace="4" src="http://scripts.kislenko.net/pushkinist/index.html"> Извините, плавающие фреймы недоступны в Вашем браузере </iframe></div>
Страница скрипта и скачать в архиве - здесь
21.07.2011, 00:17 [11131 просмотр]