это один из элементов массива для замены.
Здесь при нахождении в шаблоне конструкции вида: [+rand(4-10)+] должно выводится случайное число от 4 до 10.
Никак не могу заставить работать. При преобразовании под масок к числу, они становятся 0.
Спасибо.
хмм…
Посмотрите, а если вызывать не через каллбэк, а через preg_replace($arrayKey, $arrayValue, $html), то в строке что указал выше, при обычной замене(представление подмасок как строк), всё хорошо выводится, а если их преобразовывать в числа, то они становятся 0. Подскажите пожалуйста
Само собой. У вас rand считается до preg_replace, "$1" и "$2" — и есть "$1" и "$2", просто строки. intval от них — 0. Без каллбэков тут никак. Хотите в preg_replace — есть модификатор e, но его лучше избегать — можете заработать PHP-инъекцию, так как по сути это тот же eval.