Имеется массив:
$massiv = array ('some text <code>1234</code> some text', 'some text <code>12345</code> some text <code>0000</code>','some text <code>123</code> some text',
'some text <code>5678</code> some text', 'some text <code>1231234</code> some text', 'some text <code>5678</code> some text <code>000</code>', 'some text <code>999</code> some text');
Как видно, число элементов в массиве (7) не соответствует числу вхождений <code>что-то</code> (9)
Имеется еще два массива:
$a = array ('1234', '12345','0000','1231234', '5678', '123', '5678','000', '999');
$b = array ('abcd', 'abcde','zzzz','abcabcd', 'efgh', 'abc', 'efgh','zzz', 'xxx');
Кол-во <code>что-то</code> в $massiv равно кол-ву элементов массива $a и равно кол-ву элементов массива $b, а именно 9.
Хочу заменить в $massiv последовательно внутри каждого <code>что-то</code> элемент массива $a на элемент массива $b, чтобы получить:
$massivnew = array ('some text <code>abcd</code> some text', 'some text <code>abcde</code> some text <code>zzzz</code>','some text <code>abc</code> some text',
'some text <code>efgh</code> some text', 'some text <code>abc</code> some text', 'some text <code>efgh</code> some text <code>zzz</code>', 'some text <code>xxx</code> some text');
То есть внутри первого <code>что-то</code> заменить $a[1] на $b[1], внутри второго <code>что-то</code> - заменить $a[2] на $b[2] и т.д.
И вроде бы хочется это сделать следующим образом:
$massivnew = str_replace($a, $b, $massiv, $count);
Но возникает следующая проблема - например, внутри подстроки 12345 имеется и подстрока 1234, и, стало быть, замена происходит не так, как я хочу. На выходе имеем:
array(7) { [0]=> string(37) "some text <code>abcd</code> some text" [1]=> string(57) "some text <code>abcd5</code> some text <code>zzzz</code>" [2]=> string(36) "some text <code>abc</code> some text" [3]=> string(38)
"some text <code>efgh</code> some text" [4]=> string(40) "some text <code>abcabcd</code> some text" [5]=> string(56) "some text <code>efgh</code> some text <code>zzz</code>" [6]=> string(36) "some text <code>xxx</code> some text" }
Видим abcd5 вместо abcde
$count в итоге также покажет, что получилось все не так - вместо желаемого $count=9 вывод данной переменной будет равен 10.
Как можно решить данную проблему?