/** * Метод ищет в строке подстроки, удовлетворяющие шаблону и заменяет их по очереди на подстановки, * переданные в виде массива. Поиск идёт по регулярному выражению! * * @param string $pattern - шаблон * @param string $text - текст * @param array $tokens - массив подстановок * @return string */ public static function replace($pattern, $text, array $tokens) { self::$inst = self::$inst ? self::$inst : new PregReplaceCyclic(); self::$inst->tokens = check_condition($tokens, 'Не переданы элементы для замены'); if (is_assoc_array($tokens)) { raise_error('Недопустим ассоциативный массив подстановок. Передан: ' . array_to_string($tokens, true)); } self::$inst->idx = 0; self::$inst->count = count($tokens); return preg_replace_callback($pattern, array(self::$inst, '_replace'), $text); }
/** * Метод ищет в строке подстроки, удовлетворяющие шаблону и заменяет их по очереди на подстановки, * переданные в виде массива. Поиск идёт по регулярному выражению! * * @param string $pattern - шаблон * @param string $text - текст * @param array $tokens - массив подстановок * @return string */ public static function pregReplaceCyclic($pattern, $text, array $tokens) { return PregReplaceCyclic::replace($pattern, $text, $tokens); }