[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: замена вхождений подстроки
Iaminsane
доброго времени суток всем. нужна помощь в замене вхождений подстроки, а именно их нужно заменять на разные replacement-ы: паттерн один, замены - две. если вхождение четно - на одно, нечетно - на другое.
наверно, вопрос глупый, но я сам не смог найти ответа на него.
rooor
preg_match($pattern, $str, $match);
if(count($match[1])%2)
//replace 1
else
//replace 2
Iaminsane
rooor, спасибо за ответ, но
1) вхождение четно/нечетно должно быть по номеру (1, 2, 3, 4 ...)
2) подстрока - не число и не один символ
rooor
1) не понял... число либо чётно, либо не четно, проверяется количество совпадений, причём тут 1234?
2) тоже не понял, это к чему?
Placido
чтобы дать внятный ответ, нужно видеть реальный пример - строка, паттерн, какая замена при каком условии. Сразу напрашивается функция preg_replace_callback() и статическая переменная, если я правильно понял:
echo preg_replace_callback($pattern, function(){
static $i=0;
$i++;
return $i%2 ? $replacement_1 : $replacement_2;
}, $string);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.