Example #1
0
 /**
  * Парсит шаблон, заменяет все управляющие конструкции (переборы, перестановки и т.д) и получает массив типа:
  * array(
  *   'template' => 'Генератор может генерировать %%0%%',
  *   'replacement_array' => array(
  *       '%%0%%' => TextGenerator_OrPart
  *    )
  * )
  *
  * @param string $template - шаблон
  *
  * @return array
  */
 protected function parseTemplate($template)
 {
     $replacementArray = array();
     $template = preg_replace_callback('#(?:\\[|\\{)((?:(?:[^\\[\\{\\]\\}]+)|(?R))*)(?:\\]|\\})#', function ($match) use(&$replacementArray) {
         $key = '%0000' . count($replacementArray) . '%';
         $replacementArray[$key] = TextGenerator::factory($match[0], $this->getOptions());
         return $key;
     }, $template);
     return array('template' => $template, 'replacement_array' => $replacementArray);
 }
Example #2
0
 public function initialize()
 {
     $lang = isset($_REQUEST['lang']) ? $_REQUEST['lang'] : 'eng';
     if (!file_exists($lang)) {
         $lang = 'eng';
     }
     self::$lang = $lang;
     self::$words = explode("\n", file_get_contents($lang . '/words.txt'));
     self::$symbols_pronouns = explode("\n", file_get_contents($lang . '/pronouns.txt'));
     self::$question_words = explode("\n", file_get_contents($lang . '/question_words.txt'));
     self::$popular_verbs = explode("\n", file_get_contents($lang . '/popular_verbs.txt'));
     self::$male_firstnames = explode("\n", file_get_contents($lang . '/male_firstnames.txt'));
     self::$female_firstnames = explode("\n", file_get_contents($lang . '/female_firstnames.txt'));
     self::$surnames = explode("\n", file_get_contents($lang . '/surnames.txt'));
 }