В Делфи есть функция pos , которая возвращает позицию вхождения подстроки в строку. Есть ли что то аналогичное в пхп?
str_replace вроде заменяет все вхожжения подстроки в строке. А нужно что бы заменяло первое вхождение (или и-тое).
то есть нужно реализовать такой алгоритм: МАССИВ=array("a","b","c","d"); ЕСЛИ В СТРОКЕ НАЙДЕНА ПОДСТРОКА %sub% ТО ЦИКЛ СТРОКА=ЗАМЕНИТЬ_В_СТРОКЕ(%sub%,МАССИВ[$i]) $i++; КОНЕЦ ЦИКЛА
Код (Text): <?php $str = 'один+1=2, один+2=4, один+3=6'; $sub = 'один'; $array = array(1, 2, 3); foreach($array as $value) { if(($pos = strpos($str, $sub)) !== false) { $str = substr_replace($str, $value, $pos, strlen($sub)); } } echo $str; ?> Держи)
Corleone у str_replace есть 4 необязательный аргумент - количество производимых замен. указав 1, произведете замену только первого вхождения