Приветствую.
Не знаю как подступиться к задаче.
Есть HTML:<!--Он может быть таким:-->
<p>111 222 333</p>
<li>111 222 333</li>
<h1>111 222 333</h1>
<h2>111 222 333</h2>
<strong>111 222 333</strong>
<p><strong>111 222 333</strong></p>
<p>111 <a href="">222</a> 333</p>
<!--Он может быть таким:-->
<p>111 222 333</p><li>111 222 333</li><h1>111 222 333</h1><h2>111 222 333</h2><strong>111 222 333</strong><p><strong>111 222 333</strong></p>
<!--В общем, может быть любым-->
Задача: сделать замены в тексте по определенному формату (для примера):
— 222 меняем на
<a href="#link">222</a>
;
— меняем везде, кроме совпадений внутри тегов
<h1>
и
<a>
;
— найденные совпадения меняем только один раз.
Не понимаю как исключить из поиска определенные теги, т. е. делать замены везде, кроме указанных тегов.