Нужно заменить часть строки на такую же, только с оберткой типа
<span class='highlight'>mytext</span>
в случае если текст начинается с искомой строки.
При этом необходимо проигнорировать (если они имеются) теги html.
Т.е. к примеру искомое слово
ко:
Вариант 1:
<!-- исходный текст: -->
Короткометражки с ориентацией на классику немой комедии.
<!-- после обработки: -->
<span class='highlight'>Ко</span>роткометражки с ориентацией на классику немой комедии.
Вариант 2:
<!-- исходный текст: -->
<p><b>Короткометражки</b> с ориентацией на классику немой комедии.</p>
<!-- после обработки: -->
<p><b><span class='highlight'>Ко</span>роткометражки</b> с ориентацией на классику немой комедии.</p>
Вариант 3: (ничего не изменится так не начинается на "ко")
<!-- исходный текст: -->
<p>Новые <b>короткометражки</b> с ориентацией на классику немой комедии.</p>
<!-- после обработки: -->
<p>Новые <b>короткометражки</b> с ориентацией на классику немой комедии.</p>
Вариант 4: (посложнее)
<!-- исходный текст: -->
<p><b>К</b>ороткометражки с ориентацией на классику немой комедии.</p>
<!-- после обработки: -->
<p><span class='highlight'><b>К</b>о</span>роткометражки с ориентацией на классику немой комедии.</p>
<!-- после обработки: (другой вариант) -->
<p><b><span class='highlight'>К</span></b><span class='highlight'>о</span>роткометражки с ориентацией на классику немой комедии.</p>
Все эти варианты должны быть описаны одной регуляркой.
Ну и то же самое только для условия "заканчивается на".