Приветствую
Есть HTML, для примера такой (сразу в переменной):
$text = '
<h2>Lorems ipsum dolor sit amet</h2>
<p>Loremi ipsum dolor sit amet</p>
<p>Loremis ipsum dolor sit amet</p>
<h3>Lorem ipsum dolor sit amet</h3>
<p>Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet</p><h4>Lorem ipsum dolor sit amet</h4><p>Lorem ipsum dolor sit amet</p><p>Lorem ipsum dolor sit amet</p>
';
Нужно заменить по регулярке "склонения" слова "Lorem". В тексте их встречается несколько: Lorem, Lorems, Loremi, Loremis.
На ум приходит простое решение:
$search = '/(\bLore.+?\b)/ui';
$replace = trim('<strong>$1</strong>');
$text = preg_replace($search, $replace, $text);
И, вроде бы, работает, но есть одна проблема — на знаю как исключить замены в тегах заголовков (h1, h2, h3).
Вопросы:
— корректно ли меняю неполную словоформу?
— как исключить замены в тегах заголовков (исключить все что внутри h1, h2, h3)?