php regex para corresponder fora das tags html
Estou fazendo um preg_replace na página html. Meu padrão tem como objetivo adicionar a tag circundante a algumas palavras em html. No entanto, às vezes minha expressão regular modifica as tags html. Por exemplo, quando tento substituir este texto:
<a href="example.com" alt="yasar home page">yasar</a>
De modo ayasar
lê<span class="selected-word">yasar</span>
, minha expressão regular também substitui o yasar no atributo alt da tag anchor. Atualpreg_replace()
Estou usando a seguinte aparência:
preg_replace("/(asf|gfd|oyws)/", '<span class=something>${1}</span>',$target);
Como posso fazer uma expressão regular, para que não corresponda a nada dentro de uma tag html?