<p> <тег "параметры HTML">Текст Текст</тег>Текст Текст Текст <a>Текст</a></p>
<p><img alt="Текст искомое слово 1 Текст">Текст</p>
Конечно же последовательность тегов произвольная.
Есть массив:
array(
'искомое слово 1' => 'значение 1',
'искомое слово 2' => 'значение 2',
'искомое слово 3' => 'значение 3'
);
Надо найти все вхождения ключа и вставить вокруг них текст, подобно str_ireplace, но с тем отличием:
1) текст внутри <тег>, внутри параметров (в примере alt картинки имеет вхождение одного из ключей массива) и внутри <a> трогать не нужно.
2) нужно даже скорее не заменить, сделать так:
<p> <тег "параметры HTML">Текст Текст</тег>
Текст 'значение 1' 'искомое слово 1' 'общий текст после каждого вхождения' Текст
Текст <a>Текст</a></p>
<p><img alt="Текст искомое слово 1 Текст">Текст</p>
Т.е. если написано 'исКомое СлоВо 1', то именно такое написание и должно остаться, но должно стать три фрагмента: "Значение" + "Искомое" + "Общая для всех вхождений любого значения вставка".
Подскажите куда копать, хотя бы логику как это реализовать можно.